فهرست زبانهای برنامه نویسی
زبان برنامه نویسی، یک زبان مصنوعی است که برای نوشتن برنامهای برای کنترل رفتار کامپیوتر به کار میرود. انواع مختلف زبانهای برنامه نویسی چیست؟
تألیف و ترجمه: حمید وثیق زاده انصاری
منبع: راسخون
منبع: راسخون
زبان برنامه نویسی، یک زبان مصنوعی است که برای نوشتن برنامهای برای کنترل رفتار کامپیوتر به کار میرود. انواع مختلف زبانهای برنامه نویسی چیست؟
زبانهای برنامه نویسی، برای نوشتن برنامههایی به کار میروند که بتوانیم با آنها رفتار و عمل کردهای کامپیوتر را کنترل کنیم. زبانهای برنامه نویسی، از قوانین خاصی پیروی میکنند که ساختار آن زبان را شامل میشود. قوانین هر زبان برنامه نویسی، نحوهی پیاده سازی آن زبان را تعریف و مشخص میکند. زبانهای برنامه نویسی، برنامههای نوشته شده توسط برنامه نویس را به زبان قابل فهم برای کامپیوتر ترجمه میکنند.
APL (A Programming Language): یک زبان برنامه نویسی آرایهای است. این زبان میتواند به طور هم زمان در آرایههای چندگانهی دادهای کار کند. این زبان، مفسر، تعاملی و یک زبان برنامه نویسی تابعی است.APL یک زبان برنامه نویسی رویه گرای سطح بالا برای انجام محاسبات علمی و ریاضی است.
Autolt: یک نرم افزار رایگان زبان اتوماسیون برای ویندوز است. هدف اصلی این زبان، ایجاد اسکریپت اتوماسیون است که میتواند برخی از کارهای تکراری را در ویندوز انجام دهد.
Basic: این یک کلمه، کوتاه شدهی عبارت Beginner's All-purpose Symbolic Instruction Code به معنی، کدهایی نمادین با هدف آموزش افراد مبتدی میباشد، که توسط John George Kemeny و
Thomas Eugene Kurtz در Dartmouth در سال ۱۹۶۴ توسعه و به منظور دست رسی مردم به کامپیوترها طراحی شده است. این زبان در سالهای بین ۱۹۷۰ تا ۱۹۸۰ محبوب شد. مایکرو سافت ویژوال بیسیک بر پایهی BASIC است. برخی از نسخههای BASIC، زبانهای کامپیوتری را کامپایل میکنند.
Eiffel: یک زبان برنامه نویسی شئ گرا است که استاندارد شده برای گسترش برنامههای توسعه پذیر میباشد. این زبان پلت فرم توسعه برای بسیاری از صنایع از جمله هوا فضا، امور مالی و حساب داری و بازیهای کامپیوتری میباشد.Sather یک زبان برنامه نویسی برای کامپیوتر است که قبلاً بر پایهی Eiffel بنا نهاده شده و در حال حاضر تکامل یافته و شامل بسیاری از ویژگیهای برنامه نویسی تابعی است. Ubercode یک زبان برنامه نویسی سطح بالا است که توسط
Ubercode software طراحی شده و در سال ۲۰۰۵ گسترش یافته است. طراحی آن از Eiffel و BASIC مشتق شده است.
Forth: یک زبان برنامه نویسی ساخت یافته است که بر پایهی اجرای بستهها و استکها بنا نهاده شده است. این برنامه اجرای تعاملی دستورات و هم چنین مجموعهای از دستورات متوالی را پشتیبانی میکند.
Frink: این زبان توسط Alan Eliasen توسعه یافت، که بعدها پروفسور جان فرینک نام گرفت که یکی از شخصیتهای داستانی معروف شد. این زبان بر اساس ماشین مجازی جاوا Java Virtual Machine)) و با تمرکز بر علوم و مهندسی بنا نهاده شده است. ویژگی قابل توجه آن این است که واحدهای اندازه گیری همهی محاسبات را به واحدهای اندازه گیری قابل درک خود تبدیل میکند.
زبان بازی ساز Game Maker Language)): یک زبان برنامه نویسی مفسر است که در خدمت بازی سازها قرار گرفته و یک برنامهی کار بردی برای ایجاد بازی است. Mark Overmars، دانشمند علوم کامپیوتر اهل هلند، این زبان برنامه نویسی را طراحی کرده است.
ICI: یک زبان برنامه نویسی است که عمدتاً تغییر کننده است. این زبان، انواع دینامیک، انواع دادههای انعطاف پذیر و دیگر زبانهای ساختاری شبیه C را پشتیبانی میکند. این زبان توسط Tim Long در سال ۱۹۹۲ طراحی شده است.
J: زبان برنامه نویسی جی توسط Ken Inverson و Roger Hui توسعه یافته که این زبان تنها نیازمند مجموعه کاراکترهای ASC II میباشد. این یک زبان برنامه نویسی آرایهای است که به خوبی با عملیات ریاضی و آماری کار میکند.
Lisp : از لحاظ قدمت، Lisp دومین زبان سطح بالای برنامه نویسی کامپیوتر است که یک زبان کاملاً دستوری است. نام Lisp از List Processing Language به معنی زبان پردازش لیست، مشتق شده است. یکی از مهمترین ساختمانهای دادهای که لیسپ پشتیبانی میکند، لیست پیوندی است. برنامههای Lisp با کدهای منبع به عنوان یک ساختار دیتا برخورد میکنند و دادهها را به عنوان برنامه ارز یابی می نمایند. Lush فرعی شيءگرا از زبان Lisp میباشد. از آن میتوان برای برنامه نویسی شبکه و مدیریت وظایف استفاده کرد. لیسپ دارای نسخههای گوناگونی است که برخی از آنها دارای قابلیت شئ گرا نیز هستند. از این میان میتوان به Common Lisp، Dylan، Logo و Schemeاشاره کرد.
Common Lisp یک زبان خصوصیات است. این زبان از نمونههای متعددی پشتیبانی میکند و یک زبان برنامه نویسی با هدف کلی است. Dylan یکی دیگر از نسخههای چند نمونهای از Lisp است که هم برنامه نویسی تابعی و هم برنامه نویسی شئ گرا را پشتیبانی میکند.
LOGO وScheme، برنامه نویسی تابعی را پشتیبانی میکنند.
Guy Steele و Gerald Jay Sussman زبان Scheme را به عنوان یک زبان برنامه نویسی چند الگویی توسعه دادند. MultiLisp یکی از نسخههای زبان Scheme است که برنامه نویسی موازی و حافظهی داخلی را پشتیبانی میکند
Lua: اعضای گروه تکنو لوژی گرافیک کامپیوتر، در سال ۱۹۹۳، زبان Lua را توسعه دادند. Lua، یک زبان برنامه نویسی قانونمند و منظم است که برای برنامه نویسیهای اسکریپت طراحی شده است. این زبان به سادگی در عین حال قدرتمندی شناخته شده است.
M: کوتاه شدهی کلمهی MUMPS است. زبان برنامه نویسیای است که برای صنعت مراقبتهای بهداشتی و سلامتی ایجاد شده است. Neil Pappalardo، بنیان گذار تکنو لوژی اطلاعات پزشکی، با کمک هم کارانش، زبان برنامه نویسی M را گسترش دادند.
Pascal: یک زبان برنامه نویسی رویهای است که برای استفاده از ساختار دادهها و برنامه نویسی ساخت یافته، در نظر گرفته شده است. Niklaus Wirth، دانشمند علوم کامپیوتر سوئيسی، این زبان را طراحی کرده و اسم آن را از Blaise Pascal، ریاضیدان و فیلسوف فرانسوی، الهام گرفته است. Object Pascal یکی از شاخههای شئ گرای زبان پاسکال است که بعدها به عنوان Delphi شناخته شد.
PCASTL: یک زبان برنامه نویسی سطح بالا است که توسط Philippe Choquette طراحی شده و زیر کلاس زبانهای برنامه نویسی مفسر قرار میگیرد. این زبان به خصوص برای کد خود اصلاحی طراحی شده است.
Perl: یک زبان برنامه نویسی سطح بالای مفسر است که برنامه نویسی پویا را پشتیبانی میکند. Larry Wall، زبان شناس، که به عنوان مدیر سیستم در ناسا فعالیت میکند، Perl را توسعه داده است. این زبان، امکاناتی چون پردازش متن و ترکیبی از ویژگیهای برگرفته از زبانهای مختلف مانند Lisp، C و AWK را برای برنامه نویسان فراهم میکند.
PostScript: یک زبان برنامه نویسی پویا و الحاقی است که توسط John Warnock، دانشمند علوم کامپیوتر آمریکایی و Charles Geschke، یکی از چهرههای برجسته در زمینهی علوم کامپیوتر، توسعه یافته است. PostScript، یک زبان توصیف صفحه است که با یک مفسر اجرا میشود تا یک تصویر را ایجاد کند. Postscript بهترین زبان شناخته شده برای توصیف صفحات در زمینههای الکترونیک و منتشر کردن در دسکتاپ است. توسعه دهندگان این زبان در ادامه شرکتهای مطرحی چون سیستمهای ادوب Adobe)) را پایه گذاری کردند.
Python: یک زبان برنامه نویسی سطح بالا است که از مدلهای مختلف برنامه نویسی از جمله برنامه نویسی دستوری،
شئ گرا و تابع محور پشتیبانی میکند. ویژگیهای آن مانند سیستم پویا و مدیریت حافظهی خود کار آن را شبیه به زبان برنامه نویسی Perl کرده است. این زبان توسط Guido van Rossum در سال ۱۹۹۱ که یک برنامه نویس کامپیوتر هلندی بود منتشر شد. پایتون پروژهای آزاد و متن باز است که توسط مدیریت بنیاد نرم افزار پایتون توسعه یافته است.
REXX: کوتاه شدهی Restructured Extended Executor به معنی مجری گسترش یافتهی تجدید ساختار، میباشد. REXX یک زبان مفسر است که توسط IBM توسعه یافته است. این زبان با این هدف که به آسانی فرا گرفته شود و خوانا باشد، طراحی شده است. CMS EXEC و EXEC2 ،پیشینیان REXX بودند. NetRexx، ارائهای جدید از شرکت IBM برای زبان REXX است که امکان برنامه نویسی شئ گرا را فراهم میکند. ObjectREXX، یک زبان برنامه نویسی شئ گرا است که بر پایهی زبان برنامه نویسی REXX میباشد.
Ruby: در سال ۱۹۹۰، تلاش برای توسعهی این زبان در ژاپن آغاز شد. مانند زبان Perl، زبان Ruby نیز ویژگیهای یک سیستم پویا و مدیریت حافظهی خودکار را دارا است. این برنامه از نمونههای برنامه نویسی مختلف پشتیبانی میکند و یک زبان شئ گرای پویا محسوب میشود.
S - Lang: در اصل به عنوان یک زبان مبتنی بر بسته است، S - Lang زبانی مشابه زبان C است و توسطJohn E. Davis توسعه یافته است.
Spin: یک زبان برنامه نویسی شئ گرا است که عمل کرد چند وظیفهای دارد (چند وظیفهای، یک حالت عملیاتی سیستم عامل است که در آن، کامپیوتر میتواند در یک لحظه بیش از یک کار انجام دهد)، که کامپایلر کدهای اسپین را به کدهای بایت تبدیل میکند. کدهای اسپین میتوانند به صورت هم زمان اجرا شوند، بنا بر این حالت چند وظیفهای به وجود میآید. اسپین توسط تراشهی Gracey از شرکت Parallax توسعه یافت.
Charity: زبان برنامه نویسی که کاملاً بر مبنای توابع است، نه تورینگ کامل، به این معنی که متضمن میشود تا تمام برنامهها را به اتمام برساند. Charityدر یکی از دانشگاههای کانادا به نام Calgary طراحی شده و توسعه یافته است.
Clean: یک زبان برنامه نویسی تابعی است که قابلیت انتقال در سر تا سر پلت فرم، جمع آوری و پاک سازی دادههای نا درست و یا خراب شده، ساختمان دادههای متعدد و شفافیت ارجاعی را پشتیبانی میکند، بدین معنی که یک تابع با ورودی داده شده، همیشه همان خروجی را خواهد داشت.
Curry: یک زبان برنامه نویسی با منطق کار بردی است که عمل کرد و منطق برنامه نویسی و هم چنین برنامه نویسی محدود را پیاده سازی میکند، که در آن روابط بین متغیرها در قالب محدودیتهایی بیان میشود.
Erlang: یک زبان برنامه نویسی هم زمان است که شامل یک زیر مجموعهی پی در پی میباشد، که از برنامه نویسی تابعی پشتیبانی میکند. این نرم افزار توسط Ericsson برای پشتیبانی و توسعهی برنامههای توزیع شده، تحمل پذیر در برابر خطا، بی درنگ نرم soft-real-time)) و بدون وقفه طراحی و در سال ۱۹۹۸ به عنوان یک زبان برنامه نویسی منبع باز منتشر شد. Erlang یکی از محبوبترین زبانهای برنامه نویسی تابعی است.
F#: زبان برنامه نویسی بر پایهی دات نت NET Framework).) است. زبانی ساخت یافته و شئ گرا و متن باز است.Don Syme در بخش تحقیقاتی مایکروسافت این زبان را توسعه داد. این زبان با عنوان F Sharp نامیده شد که به زودی قابل یک پارچه شدن با دات نت و Visual Studio را خواهد داشت، و به همراه Visual Studio گسترش خواهد یافت.
Haskell: هاسکل زبان برنامه نویسی کار آمدی است که به افتخار Haskell Curry، منطقدان، به این عنوان، نام گذاری شده است. این برنامه، تطبیق الگو، اپراتورهای تعریف پذیر، جای گزینی، دادههای جبری و توابع بازگشتی را پشتیبانی میکند.
Joy: یک زبان تابعی است که بر مبنای ترکیب توابع کار میکند. Marfred Thun از دانشگاه La Trobe استرالیا این زبان برنامه نویسی را گسترش داده است.
Kite: این زبان در سال ۲۰۰۶ با مجموعهای از ویژگیهای مرکب از برنامههای شئ گرا و کار بردی عرضه شد. این زبان برنامه نویسی، سرعت اجرای بالایی دارد. جالب توجه است که Kite در توابع خود از کاراکترهای لولهای و خطوط عمودی به جای کاراکترهای دورهای و جهت دار استفاده شده در دیگر زبانها، استفاده میکند.
ML: در سال ۱۹۷۰، Robin Milnerو همکارانش در دانشگاه Edinburgh زبان برنامه نویسی ML را ابداع کردند. ML یک زبان برنامه نویسی تابعی است، بنا بر این، برنامههای محاسباتی و دستوری را پشتیبانی میکند. ML استاندارد، بین زبانهای برنامه نویسی تابعی، کامپایلری محبوب و مدولار است؛ Alice یکی از نسخههای ML استاندارد میباشد که محاسبات توزیعی، multithreading و برنامه نویسی محدود را پشتیبانی میکند.
( multithreading یا خاصیت چند ریسمانی، توانایی یک برنامه در تقسیم شدن به چند ریسه (زیر برنامه) است که میتوانند جداگانه و در عین حال هم زمان توسط رایانه اجرا شوند. یک رایانه چند پرداز میتواند همزمان دو یا چند ریسمان را اجرا کند که به معنی اجرای زودتر کل برنامه نسبت به رایانه تک پرداز است. بر روی یک رایانه تک پردازنده یک برنامه چند ریسمانی زودتر اجرا نمیشود اما یک نرم افزار کار بردی چند ریسمانی ممکن است با کار بر اندر کنش بیشتری داشته باشد زیرا چندین فعالیت در نرم افزار هم زمان اجرا میشوند. نرم افزار سنتی تک ریسهای بر روی سیستمهای چند پردازنده سریعتر اجرا نمیشوند زیرا آن نرم افزارها در هر زمان میتوانند تنها یک پردازنده را به کار بگیرند.)
CAML، نسخهی دیگری از زبان ML میباشد و یک زبان استاتیکی است که از مدیریت حافظهی اتوماتیک پشتیبانی میکند. Ocmal راه اندازی زبان CAML است که به عنوان یک پروژهی منبع باز توسعه یافته است. Jocmal نسخهای از Ocmal است که بر پایهی حساب دیفرانسیل و انتگرال میباشد.
Nemerle: یک زبان برنامه نویسی استاتیکی است که برای پلت فرم دات نت طراحی شده است. برنامههای Nemerle به بایت کدهای زبانهای میانی کامپایل میشوند. این زبان هم چنین توابع، دستورات و برنامه نویسی شئ گرا را پشتیبانی میکند.
OPAL: نام مخففی برای زبانهای کار بردی بهینه سازی شده است و یک زبان برنامه نویسی تابعی محسوب میشود که در دانشگاه فنی برلین گسترش یافته است
OPS5: نام یک زبان برنامه نویسی قانون محور است که برای اولین بار در سیستمهای خبره مورد استفاده قرار گرفته است.
Q: زبان برنامه نویسیای برای حل معادلات است. آن یک زبان برنامه نویسی تابعی مفسر است که توسط Albert Graf در دانشگاه Mainz آلمان طراحی شده است. زبان Q را میتوان به عنوان مجموعهای از معادلات مورد ستفاده برای ارز یابی عبارات توصیف کرد.
Ada: نوعی زبان استاتیکی، ساختاری و طبق اصول است که بر پایهی پاسکال نوشته شده است. تیم CII Honeywell Bull که توسط Jean Ichbian رهبری میشده، Ada را طراحی کردهاند. کامپایلرهای Ada برای سیستمهای امنیتی طراحی شدهاند. Ada یک زبان برنامه نویسی استاندارد بین المللی میباشد.
ALGOL: کوتاه شدهی ALGOrithmic Language به معنای زبان الگوریتمی است که یکی از زبانهای برنامه نویسی دستوری کامپیوتری میباشد که در میانههای سال ۱۹۵۰ توسعه یافته است. این زبان، ابزار ثابت برای ایجاد زبانهای برنامه نویسی همچون BCPL،B و C بوده است. Simula نامی در نظر گرفته شده برای دو زبان Simula1 و Simula67 است که از Algol60 به وجود آمدهاند. Ole-JohanDahl و Kristen Nygaard از مرکز محاسباتی نروژی در Oslo، مغزهای متفکر پروژهی Simula بودند.
C:Dennis Ritchie در آزمایشگاههای تلفن Bell، زبان C را برای ایجاد سیستم عامل یونیکس توسعه داد. اما بعدها اکثر سیستم عاملهای دیگر نیز با این زبان نوشته شدند. زبان C، زبانی همه منظورهی ساخت یافته و روندگرا است. از این زبان برای اجرای نرم افزارهای سیستمی و کار بردی استفاده شده و امروزه یکی از زبانهای برنامه نویسی پر کار برد میباشد. توسعه زبانهای C++ و C# نیز تحت تأثیر توسعهی زبان C بوده است.
C++: این زبان ترکیبی از زبانهای سطح بالا و سطح پایین است، از این رو به عنوان یک زبان برنامه نویسی سطح میانی در نظر گرفته میشود. زبان C++ توسط Bjarne Stroustrup در سال ۱۹۷۹ در آزمایشگاههای بل برای بهبود زبان C
و بر مبنای آن ساخته شد و آن را " C با كلاس" نام گذاری نمود که در سال ۱۹۸۳ به C++ تغییر نام داد. زبان C++ یک زبان برنامه نویسی همه منظوره و عمومی است که از برنامه نویسی رویهای، تجرید دادهها و برنامه نویسی شئ گرا پشتیبانی میکند.
C#: یک زبان برنامه نویسی چند الگویی است که از روشهای دستوری، عمومی و شئ گرا پشتیبانی میکند. این زبان از خانوادهی زبانهای دات نت فریم ورک شرکت مایکرو سافت میباشد. این با زبان دستوری شئ گرا مشابه میباشد و به شدت از زبانهای جاوا و دلفی تأثیر پذیرفته است. پلی فونیک C#، آن را گسترش داده است. MC# فرمتی از پلی فونیک C# است که توانایی اجرا بر روی پلت فرم NET را دارد. C - omega فرمتی در C# است که از پلی فونیکهای موفق C# محسوب میشود. این زبان قابلیت دست رسی به دادهها را دارد و دارای ساختاری است که از برنامه نویسی هم زمان پشتیبانی میکند.
CLEO: کوتاه شدهی Clear Language for Expressing Orders به معنای زبانی شفاف برای ابزار دستوری میباشد و یک زبان برنامه نویسی برای کامپیوترهایLEO است.
COBOL: مخفف عبارت COmmon Business - Oriented Language به معنای زبان رایج کسب و کار، میباشد. COBOL، حوزهی اصلی کار خود را در زمینهی تجارت، امور مالی و سیستمهای اجرایی برای شرکتها و دولتها قرار داد. کوبول استاندارد ۲۰۰۲، از زبانهای برنامه نویسی شئ گرا و ویژگیهای دیگر زبانهای مدرن پشتیبانی میکند. کوبول یکی از زبانهای برنامه نویسی بسیار قدیمی است که هنوز هم در حال استفاده میباشد.
Cobra: یک زبان برنامه نویسی شئ گرا است که قابل اجرا بر روی فریم ورکهای دات نت و مونو میباشد.
Chuck Esterbrook آن را توسعه داده است. طراحی این زبان تحت تأثیر زبانهایی مانند پایتون و C# بوده است. این زبان از انواع دینامیکی و استاتیکی پشتیبانی میکند و مناسب برای تست واحد میباشد. امروزه این زبان، یک پروژهی منبع باز است.
D: در اصل برای تقویت زبان C++ طراحی شده است، این زبان هم چنین تحت تأثیر زبانهای جاوا، ایفل و C# میباشد. این یک زبان برنامه نویسی چند الگویی، قانونمند و شئ گرا میباشد که توسط Walter Bright در شرکت نرم افزاری Digital Mars طراحی شده است.
DASL: مخفف Distributed Application Specification Language به معنای زبان مخصوص برنامههای کار بردی توزیعی است. یک زبان برنامه نویسی سطح بالا است که توسط شرکت Sun Microsystems توسعه یافته است. این زبان با هدف توسعه برنامههای کار بردی برای وب ایجاد شده است.
DIBOL: مخفف Digital Interactive Business Oriented Language به معنای زبان کسب و کارهای مربوط به دیجیتال است. DIBOL یک زبان برنامه نویسی همه منظوره و عمومی است. این زبان که نسبتاً شبیه COBOL است به عنوان بهترین راه حل برای توسعه سیستمهای مدیریت اطلاعات میباشد.
Fortran: یک زبان برنامه نویسی رویهای، دستوری و همه منظوره است که به خوبی در محاسبات علمی و عملیات عددی کار میکند و پروژههای بسیاری از رشتههای فنی مهندسی به کمک این زبان نوشته و اجرا میشوند. پس از این که در سال ۱۹۵۰، توسط IBM توسعه یافت، محبوبیت زیادی بین زبانهای برنامه نویسی به دست آورد. فورترن یک زبان ساخت یافته است که زیر مجموعهای از Fortran 95 قلم داد میشود. Fortran 2003 ، یک نسخهی اصلاح شده از فورترن است که از برنامه نویسی شئ گرا نیز پشتیبانی میکند.
Java: Sun Microsystems جاوا را در سال ۱۹۹۵ به عنوان بخشی از پلت فرم جاوا منتشر کرد. برنامههای جاوا به بایت کدهایی کامپایل میشوند که توانایی اجرا روی هر ماشین مجازی را دارند، بنا بر این ساخت برنامههای جاوا مستقل از پلت فرم آن است. این زبان یکی از محبوبترین زبانهای دوران مدرن میباشد. Groovy یک زبان برنامه نویسی شئ گرا برای پلت فرم Java میباشد. این زبان برنامه نویسی پویا است و هم چنین قابلیت استفاده به عنوان یک زبان برنامه نویسی را دارد. Join Java یک زبان برنامه نویسی است که جاوا را با اضافه کردن روشهای پیوندی، روشهای آسنکرون و تغییر کلاس مدیفایرها به جاوا، گسترش میدهد. X10 یک زبان برنامه نویسی کامپیوتر است که به وسیلهی IBM توسعه یافته تا برنامههای موازی، آرایهها و هم زمانی را پشتیبانی کند، و به عنوان زیر مجموعهای گسترده از جاوا میباشد.
JOVIAL: یک زبان برنامه نویسی سطح بالا است که شبیه ALGOL میباشد. این زبان برای طراحی و توسعهی سیستمهای ادغام شده مناسب است.
Objective - c: یک زبان برنامه نویسی شئ گرا است که با اضافه کردن مفاهیم ارسال پیام از زبان اسمال تاک به زبان C ایجاد شده است، در حال حاضر استفادهی اصلی آن در محیط Mac OS X و iPhone OS میباشد.
SMALL: مخفف عبارت Small Machine Algol - like Language به معنای زبان برنامه نویسی ماشین کوچک شبیه الگول میباشد. این برنامه شرایطی را برای برنامه نویسان ایجاد میکند که کدهایی شبیه زبان ALGOL بنویسند و در محیطSMALL اجرا کنند.
Small talk: زبان اسمال تاک یک زبان شئ گرا و دارای نوع پویا است و زبان برنامه نویسی انعکاسی است. Alan Kay، Adele Goldberg، Dan Ingalls، Scott Wallace، Ted Kaehler و دیگر هم کارانشان در Xerox PARK، زبان اسمال تاک را توسعه دادند. آنها این زبان را با هدف آموزشی طراحی کردند که بعدها محبوب شد. Visual Works اجرای بر جستهی اسمال تاک است. Squeak یک زبان برنامه نویسی در قالب پیاده سازی اسمال تاک است. Scratch یک زبان برنامه نویسی بصری بر پایهی squeak میباشد.
Turing: این زبان توسط Ric Holt و James Cordy از دانشگاه تورنتو کانادا در سال ۱۹۸۲، توسعه یافته است. این زبان برنامه نویسی، به افتخار دانشمند کامپیوتر بریتانیایی، Alan Turing، به این نام مزیّن شده است. این زبان برنامه نویسی که شبیه پاسکال است، از سال ۲۰۰۷، به عنوان یک نرم افزار رایگان میباشد.
Visual Basic: برنامه نویسی در ویژوال بیسیک به صورت رخ داد گرا و شئ گرا میباشد و محیطی یک پارچه دارد. این زبان بسیاری از ویژگیهای خود را از BASIC به ارث برده است. ویژگیهای توسعهی گرافیکی در آن باعث شده است تا مبتدیان به آسانی این زبان را یاد بگیرند.
Visual Fox Pro: یک زبان برنامه نویسی داده محور شئ گرا و روال محور است که از زبان Fox Pro مشتق شده و توسط شرکت مایکرو سافت تهیه شده است. این زبان از طریق یک سیستم پایگاه دادهای که مرتبط با خودش است، یک پارچه شده و نیازی به یک محیط برنامه نویسی اضافی ندارد. این زبان، برنامههای پویا را پشتیبانی میکند.
XL: این زبان برای پیاده سازی ایدههای برنامه نویسی مفهومی طراحی شده و سعی میکند تا تبدیل مفهوم و کد را به هم دیگر آسان کند و روی این موضوع متمرکز است که چگونه میتوان مفاهیم موجود در ذهن یک برنامه نویس را به شکل کد تغییر داد. برنامه نویسان میتوانند قواعد و شماتیک زبان XL را پیکر بندی کنند و خصوصیات جدیدی از لحاظ قواعد و مفهوم به زبان اضافه کنند.
برنامه نویسی عبارتی است که جریان کنترل برنامه را به یک زیر روال، روال یا تابع میبرد. یک رویه گروهی از دستورات است که میتوانند به فرا خوانیها ارجاع داده شوند. رویهها در استفادهی مجدد از کدها کمک میکنند. رویه در برنامه، رشتهی نام داری از عبارات به همراه ثابتها، انواع دادهها و متغیرها است که معمولاً یک عمل را انجام میدهد. هر رویه معمولاً میتواند به وسیلهی رویههای دیگر و یا بخش اصلی برنامه فرا خوانده و اجرا شود. در بعضی از زبانها تفاوت بین رویه و تابع این است که، تابع مقداری را ارجاع میدهد. برنامه نویسی رویهای باعث میشود که برنامههای ساخت یافته به راحتی قابل رد یابی برای جریان برنامه باشند.
به غیر از زبانهای شناخته شدهای چون COBOL، BASIC، Fortran، Ada، C، C++، C#، Visual BASIC
و Java ، زبانهای زیادی وجود دارند که به صورت رویهای کار میکنند. نگاهی به آنها میاندازیم.
Bliss: یک زبان برنامه نویسی سیستمی است و یکی از شناخته شدهترین زبانها از این نوع بود تا اینکه زبان C روی کار آمد. W. A. Wolf ، D. B. Russel ، وA. N. Habermann از دانشگاه Carnegie Mellon، زبان Bliss را توسعه دادند. این زبان شامل ماشین پردازش استثناء، هم چنین دستور العمل اتصال مجموعهای از ورودیها به مجموعهای از خروجیها و هم چنین شامل ماکروها میشود در حالی که آن مانع از عدم اجرای دستورات میشود. منظور از ماکروها در برنامههای کار بردی، مجموعهای از ضربات کلیدی و دستور العملهایی است که ثبت شده و تحت یک کلید کوتاه یا نام ماکرویی ذخیره میشوند. وقتی این کد کلیدی با نام ماکرو تایپ شود برنامه مربوطه دستور العمل های موجود در ماکرو را به اجرا در میآورد. کار بران برنامه با جای گزین ساختن ماکروها به جای ضربات کلیدی پیچیده و طولانی که کار بری زیادی دارند، در زمان صرفه جویی میکنند.
Chuck: یک زبان برنامه نویسی هم زمان و صوتی است که روی سیستم عاملهای Mac OS X، لینوکس و هم چنین مایکرو سافت ویندوز قابل اجرا است. Chuck این امکان را به برنامه نویسان میدهد که حتی حین اجرای برنامه نیز تغییراتی را در آن اعمال کنند.
CLIST: یک زبان برنامه نویسی رویهای در قالب مجموعهای از دستورات است که باید به مانند یک فایل دستهای در یک توالی و ترتیب اجرا شوند.
Hyper Talk: یک زبان برنامه نویسی سطح بالا است که برای برنامه نویسان مبتدی در نظر گرفته شده است. برنامه نویسان این زبان کامپیوتر به عنوان مؤلف شناخته میشوند و هنر نوشتن برنامه، اسکریپت نامیده میشود. Hyper Talk توسط Dan Winker در سال ۱۹۸۷ طراحی شده و از لحاظ ساختاری، شبیه پاسکال است.
Modula - 2: یک زبان برنامه نویسی رویهای عمومی است که در سال ۱۹۷۸ توسط Niklaus Wirth در ETH، ایجاد شد. این زبان شبیه به پاسکال عمل میکند و دارای سیستمهای برنامه نویسی و ویژگیهای عمل کرد چند برنامهای است.
Oberon: Niklaus Worth ، مردی که پشت پاسکال و مدولا بود، در سال ۱۹۸۶ با Oberon دو باره درخشید و آن را به عنوان بخشی از سیستم عامل Oberon طراحی کرد. Oberon شبیه به Modula - 2 ولی کوچکتر از آن است.
Component Pascal: به نظر میرسد که این زبان برنامه نویسی با پاسکال رابطهای داشته باشد، اما در واقع با آن نا سازگار است. آن را میتوان به نوعی Oberon - 2 نامید. Logoana یک زبان برنامه نویسی تجربی است که برنامه نویسی مؤلفه گرا را پشتیبانی میکند، یک نمونه تجزیه یک سیستم به اجزای منطقی یا کار بردی. Michael Franz یکی از دانش جویان Niklaus Wirth زبان Logoana را توسعه داده است. زبان Seneca، بیشتر به عنوان Oberon - 2 شناخته شده است که یک فرمت از زبان برنامه نویسی Oberon است.
MATLAB: یک محیط محاسبات عددی و هم چنین زبان برنامه نویسی است که محاسبات ماتریس را انجام میدهد. این برنامه، رسم توابع و پیاده سازی الگوریتم را امکان پذیر میسازد. این برنامه هم چنین برای ایجاد رابط کاربری میتواند استفاده شود. Math Works، نرم افزار MATLAB را ایجاد کرده است.
OCCAM: یک زبان برنامه نویسی رویهای و دستوری است که توسط David May و هم کارانش در INMOS توسعه یافته است. این زبان، شبیه پاسکال میباشد. OCCAM - PI، یک نوع OCCAM است که توسعه یافته و شامل پروتکلهای تو در تو، پروتکلهای وراثتی، سازندهی آرایه و ایجاد فرآیند زمان اجرا میشود.
PL/C: این زبان با اهداف آموزش برنامه نویسی در دانشگاه Cornell به سال ۱۹۷۰، ایجاد شده است.
PL/I: یک زبان برنامه نویسی دستوری است که در برنامههای کار بردی علمی و مهندسی به کار میرود. این زمان عمدتاً برای انجام امور پردازش دادهها در نظر گرفته شده است و هم چنین زبانهای برنامه نویسی ساخت یافته و برگشت پذیر را نیز پشتیبانی میکند.
Rapira: یک زبان برنامه نویسی رویهای است که در تدریس برنامه نویسی کامپیوتر در مدارس اتحاد جماهیر شوروی مورد استفاده قرار میگرفت. طراحی و توسعهی این زبان در اتحاد جماهیر شوروی اتفاق افتاد و ابتدا این زبان بر اساس کلمات کلیدی روسی بنا نهاده شده بود ولی بعدها، کلمات انگلیسی وارد آن شدند.
RPG: یک زبان برنامه نویسی است که در برنامههای کار بردی مربوط به کسب و کار استفاده میشود. این زبان در سیستمهای کامپیوتری میانی شرکت IBM موجود بود.
Apple Script: یک زبان برنامه نویسی اسکریپتی است که برای سیستم عامل Mac OS طراحی شده است.
AWK: در سال ۱۹۷۰، این زبان برنامه نویسی در آزمایشگاههای بل به وجود آمد. یک زبان برنامه نویسی همه کاره است که برای پردازش دادههای مبتنی بر متن در جریان دادهها و فایلها و هم چنین در نوع دادههای رشتهای آرایهها و عبارات منظم استفاده میشود.
BeanShell: یک زبان برنامه نویسی اسکریپتی تحت جاوا است که به نوعی شبیه زبان جاوا میباشد و بر روی محیط جاوا با دستورات برنامه نویسی و قواعد آن، قابل اجرا است.
Cold Fusion: یک زبان برنامه نویسی سرور و نرم افزار توسعهی فریم ورک میباشد. کولد فیوژن اغلب بر روی پایگاههای داده و شبکههای داخلی استفاده میشود و ویژگی بارز کولد فیوژن، قابلیت نشانه گذاری این زبان است. این زبان که با عنوان FCML شناخته شده است، از لحاظ قواعد، شباهت زیادی به HTML دارد. مهمترین قابلیت کولد فیوژن این است که میتواند ارتباطی آسان بین صفحات وب HTML)) و بانکهای اطلاعاتی بر قرار کند.
ECMA Script: یک زبان برنامه نویسی اسکریپتی با مشخصات ECMA بین المللی است. این زبان به طور گسترده در وب استفاده میشود. Action Script که در طراحی و توسعه وب سایتها و برنامههای پایگاههای اطلاعاتی استفاده میشود بر پایهی ECMA Script بنا نهاده شده است، DMD Script زبان اسکریپت نویسی موتور ECMA Script در شرکت
Digital Mars میباشد. ECMA Script با افزوده شدن قابلیت پشتیبانی از XML، گسترش یافت. Java Script برای توسعه وب در کنار سرویسهای گیرنده استفاده میشود. این زبان، یک نمونهی ضعیف از زبانهای پویای بر پایهی نمونههای اولیه است.
Jscriptنسخهای از ECMA Script است که توسط مایکرو سافت استفاده میشود. هر دوی این زبانها به طور گستردهای در توسعهی وب به کار گرفته میشوند.
F - Script: یک زبان برنامه نویسی شئ گرا است که در ظاهر شبیه اسمال تاک است، ولی یک ویژگی اضافی نسبت به آن دارد و آن هم برنامه نویسی آرایهای است.
JASS: یک زبان برنامه نویسی روی داد محور است که API گستردهای را در اختیار برنامه نویسان قرار میدهد. برنامه نویسی روی داد محور یک الگوی برنامه نویسی است که در آن، روند اجرای برنامه توسط روی دادها تعیین میگردد. برای مثال، خروجی یک سنسور یا دستورهای کار بر مانند کلیکهای موس و دکمههای کی بورد و یا پیامهای دریافتی از سایر برنامهها یا رشتهها.
Maya Embedded Language: مخفف شدهی آن بهصورت MEL است که به معنای زبان مایای جا سازی شده است. یک زبان برنامه نویسی است که وظایف نرم افزار مایا را پشتیبانی میکند. قواعد آن شبیه Perl است.
Mondrian: زبان برنامه نویسی است که برای اهداف اینترنت طراحی شده و ترکیبی از Haskell و جاوا میباشد.
PHP: یکی از زبانهای برنامه نویسی اسکریپت بسیار محبوب و عمومی میباشد. برای ایجاد صفحات وب پویا توسعه یافته و از قابلیت رابط خط فرمان پشتیبانی میکند.
Revolution: یک زبان توسعهی سریع نرم افزاری است که بر پایهی Hyper Talk میباشد. این یک زبان چند پلت فرمی است که نوع پویا را پشتیبانی میکند. چند پلت فرمی Croos - platform)) در اصطلاح نرم افزارهای رایانه، به آن دسته از نرم افزارها گفته میشود که چندین سکوی رایانهای قابل اجرا هستند.
TCL: یک زبان برنامه نویسی اسکریپتی است و سازندهی آن معتقد است که یاد گیری آن آسان است. از آن برای نمونه گیری سریع استفاده میشود. نیاز به امکان جا سازی Embeddability)) قابلیت ویژه زبان TCL میباشد.
VBScript: یک زبان برنامه نویسی فعال است که توسط شرکت مایکرو سافت توسعه یافته است. ترکیبات این زبان با تغییرات محدودی از زبان برنامه نویسی ویژوال بیسیک مایکرو سافت برگرفته شده است. این زبان به طور پیش فرض بر روی تمامی ویندوزهای انتشار یافته توسط مایکرو سافت قابل نصب است.
Windows Power Shell: ویندوز پاور شل یک موتور خود کار قابل ارتقا از طرف مایکرو سافت است که شامل یک پوستهی خط فرمان و یک زبان پردازه نویسی میباشد. این زبان در سال ۲۰۰۶ برای ویندوز XP، ویندوز ویستا، ویندوز سرور ۳۰۰۳ و ویندوز سرور ۲۰۰۸ عرضه شد. ویندوز پاور شل با بهره گیری از دات نت فریم ورک ارائه شده است، به این معنا که قابل اجرا بر روی فرمهای استاندارد برنامهها، کلاسهای دات نت منظم، cmdletهایی که مخصوص کلاسهای دات نت و اسکریپتها هستند، ترکیبات cmdletها و منطقهای دستوری، میباشد.
Curl: یک زبان برنامه نویسی شئ گرای انعکاسی است. یک زبان نشانه گذاری شبیه HTML است. این زبان از ارث بری چند گانه پشتیبانی میکند.
SGML: کوتاه شدهی عبارت Standardized General Markup Language به معنای زبان نشانه گذاری تعمیم یافتهی استاندارد، یکی از زبانهای نشانه گذاری عمومی شرکت IBM است. این زبان به تنهایی برای نشانه گذاری در اسناد کار بردی ندارد بلکه به عنوان مبنای استاندارد سازی زبانهای نشانه گذاری دیگر استفاده میشود و به همین خاطر به آن فرا زبان میگویند. این زبان با هدف به اشتراک گذاری اسناد قابل خواندن توسط ماشین در پروژههای بزرگ به وجود آمده است تا اسناد برای سالهای طولانی باقی بمانند.
HTML: Hyper Text Markup Language به معنای زبان نشانه گذاری فرا متن، که به صورت مختصر با عنوان HTML بیان میشود به عنوان بر جستهترین زبان نشانه گذاری برای صفحات وب، شناخته شده است. HTML زبان توصیف ساختار صفحههای وب است. زبانی است برای نشانه گذاری ابر متن که برای تدوین قالب و طراحی صفحههای وب به کار میبرند. دستور العملهای این زبان، برچسب (Tag) نام دارند که محتوای یک صفحه وب با آنها نشانه گذاری شده و بدین ترتیب، نحوهی نمایش آن صفحه برای مرورگرهای وب، توصیف میشود. HTML به طور پیش فرض از قواعد SGML استفاده میکند.
XML: مخفف عبارت Extensible Markup Language به معنای زبان نشانه گذاری توسعه پذیر میباشد. این یک زبان توسعه پذیر است، چرا که به کار بر اجازه میدهد تا عناصر مورد نیاز خود را در XML تعریف کند. هم چنین این برنامه از قابلیت اشتراک گذاری دادههای ساخت یافته بر روی اینترنت و چند بخشی و کد گذاری کردن اطلاعات، پشتیبانی میکند. این زبان به عنوان زیر مجموعهای از SGML سر چشمه گرفته است.
XPath، زبان مسیر XML است که در انتخاب گره از اسناد XML، استفاده میشود. هم چنین محاسبات مقداری را نیز پشتیبانی میکند. XQuery در استخراج مجموعه اطلاعات XML ، استفاده میشود. منظور از query مجموعه دستور العملهای خاصی است که برای استخراج دادههای تکراری مورد استفاده قرار میگیرند. با استفاده از این روش میتوان گزارشهای مختلفی را از پایگاههای دادهها تهیه نمود. XSLT یک زبان مبتنی بر XML است که برای تبدیل اسناد XML به فرمتهای قابل خواندن برای انسان، استفاده میشود. Apacheant ابزاری برای اتوماسیون فرآیندهای ساخت نرم افزار است که از XML برای توصیف فرآیندهای ساخت، استفاده میکند.
XHTML: یک زبان نشانه گذاری است که شبیه به HTML است و از قواعد XML پیروی میکند. حد وسط بین HTML و XML میباشد. اسناد XHTML ، اجازهی پردازش خود کار دادهها را میدهند.
ALF: مخفف عبارت Algebraic Logic Functional Programming Language به معنای زبان برنامه نویسی کار برد منطق جبری است که به اختصار ALF نامیده شده و یک زبان برنامه نویسی چند الگویی است که ترکیبی از برنامه نویسی تابعی و برنامه نویسی منطقی میباشد. دستورات برنامهی ALF درون یک ماشین انتزاعی کامپایل میشود و شبیه ساز نوشته شده در زبان C برنامههای ماشین انتزاعی را اجرا میکند.
Fril: زبانی است که در سال ۱۹۸۰ توسط Trevor Martin و Jim Baldwin در دانشگاه Bristol طراحی شده است. این زبان در وهلهی اول حساب دیفرانسیل و انتگرال را در اولویت خود قرار داد. این زبان از مجموعهی فازی و متاپروگرمینگ پشتیبانی میکند و بر پایهی قواعد Prolog میباشد.
Janus: این زبان از برنامه نویسی هم زمان و محدود، پشتیبانی میکند.
Leda: یک زبان برنامه نویسی کامپیوتری با ترکیبی از مبانی منطقی، تابعی دستوری و شئ گرا است، بنا بر این یکی از زبانهای چند الگویی شناخته میشود.
OZ: یک زبان چند الگویی است که برنامه نویسیهای تابعی، دستوری، شئ گرا و مبتنی بر منطق را پشتیبانی میکند. OZ هم چنین از برنامه نویسی هم زمان و توزیعی نیز پشتیبانی میکند. برنامه نویسی محدود که توسط این زبان پشتیبانی میشود یکی از نقاط قوت این زبان محسوب میشود. منظور از برنامه نویسی محدود، یک نوع تحمیل کننده به سیستم است و برای نشان دادن موضوعاتی که باید به گونهای صحیح در سیستم نگهداری شوند، میباشد.
Poplog: یک محیط توسعهی نرم افزار چند الگویی قدرتمند میباشد که هستهی اصلی آن pop - 11 است.
همهی زبانهای این محیط توسعه یافته، یک ویرایشگر زبان مشترک را به اشتراک میگذارند و تدریجاً به زبانهای برنامه نویسی کامپایل میکنند.
Prolog: یک زبان برنامه نویسی همه منظوره است که برنامههای منطقی را پشتیبانی میکند و اغلب با هوش مصنوعی و زبان شناسی محاسباتی مرتبط است. زبان اعلانی است و منطق برنامه، در قالب روابط بیان شده است. Mercury یک زبان برنامه نویسی منطقی کار بردی است که بر پایهی Prolog میباشد. Strawberry Prolog یکی از نسخههای prolog است که استفادهی آسانی دارد. Visual Prolog یک نوع ترویجی از Prolog است که برنامه نویسی شئ گرا را پشتیبانی میکند. این زبان یک زبان برنامه نویسی کامپایل شده بر پایهی منطق است.
ROOP: یک زبان چند الگویی است که بر مبنای و با این هدف که سیستمهای هوش مصنوعی مورد استفاده قرار گیرد، ساخته شده است. این زبان برنامه نویسی از ویژگیهای رویهای، شئ گرا و مبتنی بر منطق پشتیبانی میکند.
ABCL: این در واقع خانوادهای از زبانهای برنامه نویسی همزمان میباشد که بین سالهای۱۹۸۰ تا ۱۹۹۰ در ژاپن توسعه یافت. ABCL/1، ABCL/R، ABCL/R2 برخی از اعضای خانوادهی ABCLهستند.
Afnix: یک زبان برنامه نویسی تابعی چند رشتهای است. مترجم این زبان C++ میباشد. موتور اجرایی آن از هر دو پلت فرم ۳۲ بیتی و ۶۴ بیتی پشتیبانی میکند.
Clik: در آزمایشگاه MIT و در سال ۱۹۹۴ ایجاد شده و از زبانهای برنامه نویسی موازی چند ریسمانی پشتیبانی میکند.
Concurrent Pascal:Per Brunch Hansen ، دانشمند علوم کامپیوتر دانمارکی، زبان Concurrent Pascal را برای نوشتن سیستم عاملها و برنامه نویسی برای سیستمهای بی وقفه ایجاد کرد.
E: یک زبان برنامه نویسی شئ گرا است که برنامه نویسی توزیعی را پشتیبانی میکند. Miler Mark،Dan Bornstein وهم کارانشان در انجمن الکتریک این زبان را در سال ۱۹۹۷ توسعه دادند. قواعد این زبان شبیه به جاوا است.
Joule: یک زبان برنامه نویسی هم زمان تابع دیتا است که مقدم بر زبان برنامه نویسی E میباشد. این زبان در برنامه نویسیهای توزیعی استفاده میشود.
Limbo: این زبان در آزمایشگاه بل برای استفاده در سیستمهای توزیعی، طراحی شده است. ویژگی قابل توجه آن توانایی کامپایلر آن در تولید کدهای مستقل از ماشین میباشد، Limbo برای برنامههای در حال اجرای سیستم عامل inferno مورد استفاده قرار میگیرد. Alex که در ابتدا بخشی از سیستم عامل Plan9 بود جای خود را به Limbo داد.
Pict: یک زبان برنامه نویسی نوع استاتیکی است که فعلاً در مرحلهی آزمایشی قرار دارد.
Salsa: کوتاه شده عبارتand Architecture Simple Actor Language System به معنی زبان سادهی سیستم و معماری میباشد. SALSA از برنامه نویسی هم زمان، فرستادن پیام و محاسبات توزیعی پشتیبانی میکند. این زبان از کدهای جاوا استفاده میکند.
فرستادن پیام (message passing): در این نوع ارتباط، به جای خواندن و نوشتن در یک حافظهی مشترک، پردازهها به یک دیگر پیغام میفرستند و دادههای مورد نیاز خود را منتقل میکنند؛ در این حالت به یک پروتکل مشخص و توابع مشخصی برای فرستادن و گرفتن پیغام در پردازهها نیازمندیم. هم چنین پردازندهها باید دارای شناسه مشخص باشند.
SR: مخففResources Synchronizing به معنای منابع هم گام سازی است. SR یک زبان برنامه نویسی هم زمان است.
به تعدادی از این نوع زبانها در زیر اشاره شده است:
Agora: یک زبان شئ گرا مبتنی بر نمونه برداری است که ویژگیهای مکانیزم فرستادن پیام را دارد.
BETA: یک زبان برنامه نویسی شئ گرا است که در آن کلاسها و روشها حول مفاهیم و کلاسهای یکسانی میچرخند که به عنوان صفات اشیاء تعریف میشوند. BETA هم چنین از کلاسهای تو در تو نیز پشتیبانی میکند.
Cecil: یک زبان شئ گرا است که توسط Craig Chambers در دانشگاه واشنگتن ساخته شده است. این زبان شبیه به Objective - C و Modula - 3 است.
Lava: یک زبان برنامه نویسی مبتنی بر مفسر شئ گرای بصری است.
Lisaac: این اولین زبان برنامه نویسی شئ گرا است که بر اساس مفاهیم نمونه اولیه میباشد. این برنامه هم چنین از برنامه نویسی سیستم پشتیبانی میکند.
MOO: یک نوع پویا از زبانهای برنامه نویسی مبتنی بر مفاهیم اولیه است که از برنامه نویسی شئ گرا پشتیبانی میکند. این برنامه از مکانیزم مدیریت استثناء و ساختار حلقه پشتیبانی میکند.
Moto: یک زبان برنامه نویسی سمت سرور منبع باز است که همراه با اشیاء مدیریت جلسه و موقعیت و اتصال به پایگاه اطلاعات عرضه شد.
Object-Z: در دانشگاه کوئینز لند استرالیا توسعه داده شد. زبان برنامه نویسی Z با افزوده شدن ویژگی شئ گرا به آن گسترش یافت.
Obliq: یک زبان برنامه نویسی مفسر است که ویژگیهای برنامه نویسی شئ گرا دارد. این زبان از متغیرهای تعریف نشده پشتیبانی میکند و برای محاسبات توزیعی و چند ریسمانی طراحی شدهاند.
Oxygene: زبان برنامه نویسی بر پایهی پاسکال شئ گرا است و مجموعهای از ویژگیهای غنی را دارا است. پیش از این با عنوان کروم Chrome)) شناخته شده بود.
Pliant: زبانی بر پایهی کامپایلرهای پویا است و با توانایی منحصر به فرد پشتیبانی از لیست دستور العملهای سطح پایین و هم چنین عبارات سطح بالا عرضه شده است.
Prograph: یک زبان چند نمونه شئ گرای بصری است که با استفاده از نمادها، اقدامات انجام شده بر روی کاراکترها را مشخص میکند.
REBOL: مخفف عبارت Relative Expression Based Object Language به معنی زبان روابط مبتنی بر پایهی اشیاء است. این زبان برای استفاده در سیستم عاملهای توزیع شده و ارتباطات شبکه طراحی شده است.
Scala: نام Scala مخفف عبارت Scalable language به معنای زبان مقیاس پذیر است. یک زبان برنامه نویسی چند الگویی است که ویژگیهای برنامه نویس شئ گرا و کار بردی را ارائه میدهد.
Self: یک زبان برنامه نویسی شئ گرا مبتنی بر مفهوم نمونهی اولیه میباشد. Newton Script برای نوشتن برنامههایی برای Apple Newton استفاده شده است و تا حد زیادی از Self تأثير گرفته است.
Slate: یک زبان برنامه نویسی شئ گرا است که در مفهوم نمونههای اولیه است. برخی از ویژگیهای این زبان از اسمال تاک و برخی دیگر از Self گرفته شده است. طراحslate در نظر داشته است تا محیطی کار بردی را برای برنامه نویسانش فراهم کند.
XOTcl: فرمت شئ گرایی از ابزار دستور زبان است که فرا کلاسها و کلاسها و روشهای پویا را پشتیبانی میکند.
IO: زبان برنامه نویسی شئ گرای خالصی است که یک مدل شئ گرا مبتنی بر نمونهی اولیه دارد. از لحاظ اندازه کوچک است و میتواند بر روی ماشینهای مجازی قابل حمل کوچک اجرا شود.
این فهرست گستردهای از زبانهای برنامه نویسی کامپیوتر بود. زبانهای برنامه نویسی مختلف، ویژگیهای برنامه نویسی مختلفی را ارائه میدهند که به عنوان وسیلهی ارتباطی بین انسان و سیستمهای کامپیوتری به کار میآید.
زبانهای برنامه نویسی، برای نوشتن برنامههایی به کار میروند که بتوانیم با آنها رفتار و عمل کردهای کامپیوتر را کنترل کنیم. زبانهای برنامه نویسی، از قوانین خاصی پیروی میکنند که ساختار آن زبان را شامل میشود. قوانین هر زبان برنامه نویسی، نحوهی پیاده سازی آن زبان را تعریف و مشخص میکند. زبانهای برنامه نویسی، برنامههای نوشته شده توسط برنامه نویس را به زبان قابل فهم برای کامپیوتر ترجمه میکنند.
زبانهای برنامه نویسی مفسر
زبانهای برنامه نویسی که در نقش یک مترجم هستند، به زبانهای برنامه نویسی مفسر شناخته میشوند. مفسرها با ترجمهی کد منبع به یک حالت میانه، مستقیماً، کد منبع را اجرا میکنند.APL (A Programming Language): یک زبان برنامه نویسی آرایهای است. این زبان میتواند به طور هم زمان در آرایههای چندگانهی دادهای کار کند. این زبان، مفسر، تعاملی و یک زبان برنامه نویسی تابعی است.APL یک زبان برنامه نویسی رویه گرای سطح بالا برای انجام محاسبات علمی و ریاضی است.
Autolt: یک نرم افزار رایگان زبان اتوماسیون برای ویندوز است. هدف اصلی این زبان، ایجاد اسکریپت اتوماسیون است که میتواند برخی از کارهای تکراری را در ویندوز انجام دهد.
Basic: این یک کلمه، کوتاه شدهی عبارت Beginner's All-purpose Symbolic Instruction Code به معنی، کدهایی نمادین با هدف آموزش افراد مبتدی میباشد، که توسط John George Kemeny و
Thomas Eugene Kurtz در Dartmouth در سال ۱۹۶۴ توسعه و به منظور دست رسی مردم به کامپیوترها طراحی شده است. این زبان در سالهای بین ۱۹۷۰ تا ۱۹۸۰ محبوب شد. مایکرو سافت ویژوال بیسیک بر پایهی BASIC است. برخی از نسخههای BASIC، زبانهای کامپیوتری را کامپایل میکنند.
Eiffel: یک زبان برنامه نویسی شئ گرا است که استاندارد شده برای گسترش برنامههای توسعه پذیر میباشد. این زبان پلت فرم توسعه برای بسیاری از صنایع از جمله هوا فضا، امور مالی و حساب داری و بازیهای کامپیوتری میباشد.Sather یک زبان برنامه نویسی برای کامپیوتر است که قبلاً بر پایهی Eiffel بنا نهاده شده و در حال حاضر تکامل یافته و شامل بسیاری از ویژگیهای برنامه نویسی تابعی است. Ubercode یک زبان برنامه نویسی سطح بالا است که توسط
Ubercode software طراحی شده و در سال ۲۰۰۵ گسترش یافته است. طراحی آن از Eiffel و BASIC مشتق شده است.
Forth: یک زبان برنامه نویسی ساخت یافته است که بر پایهی اجرای بستهها و استکها بنا نهاده شده است. این برنامه اجرای تعاملی دستورات و هم چنین مجموعهای از دستورات متوالی را پشتیبانی میکند.
Frink: این زبان توسط Alan Eliasen توسعه یافت، که بعدها پروفسور جان فرینک نام گرفت که یکی از شخصیتهای داستانی معروف شد. این زبان بر اساس ماشین مجازی جاوا Java Virtual Machine)) و با تمرکز بر علوم و مهندسی بنا نهاده شده است. ویژگی قابل توجه آن این است که واحدهای اندازه گیری همهی محاسبات را به واحدهای اندازه گیری قابل درک خود تبدیل میکند.
زبان بازی ساز Game Maker Language)): یک زبان برنامه نویسی مفسر است که در خدمت بازی سازها قرار گرفته و یک برنامهی کار بردی برای ایجاد بازی است. Mark Overmars، دانشمند علوم کامپیوتر اهل هلند، این زبان برنامه نویسی را طراحی کرده است.
ICI: یک زبان برنامه نویسی است که عمدتاً تغییر کننده است. این زبان، انواع دینامیک، انواع دادههای انعطاف پذیر و دیگر زبانهای ساختاری شبیه C را پشتیبانی میکند. این زبان توسط Tim Long در سال ۱۹۹۲ طراحی شده است.
J: زبان برنامه نویسی جی توسط Ken Inverson و Roger Hui توسعه یافته که این زبان تنها نیازمند مجموعه کاراکترهای ASC II میباشد. این یک زبان برنامه نویسی آرایهای است که به خوبی با عملیات ریاضی و آماری کار میکند.
Lisp : از لحاظ قدمت، Lisp دومین زبان سطح بالای برنامه نویسی کامپیوتر است که یک زبان کاملاً دستوری است. نام Lisp از List Processing Language به معنی زبان پردازش لیست، مشتق شده است. یکی از مهمترین ساختمانهای دادهای که لیسپ پشتیبانی میکند، لیست پیوندی است. برنامههای Lisp با کدهای منبع به عنوان یک ساختار دیتا برخورد میکنند و دادهها را به عنوان برنامه ارز یابی می نمایند. Lush فرعی شيءگرا از زبان Lisp میباشد. از آن میتوان برای برنامه نویسی شبکه و مدیریت وظایف استفاده کرد. لیسپ دارای نسخههای گوناگونی است که برخی از آنها دارای قابلیت شئ گرا نیز هستند. از این میان میتوان به Common Lisp، Dylan، Logo و Schemeاشاره کرد.
Common Lisp یک زبان خصوصیات است. این زبان از نمونههای متعددی پشتیبانی میکند و یک زبان برنامه نویسی با هدف کلی است. Dylan یکی دیگر از نسخههای چند نمونهای از Lisp است که هم برنامه نویسی تابعی و هم برنامه نویسی شئ گرا را پشتیبانی میکند.
LOGO وScheme، برنامه نویسی تابعی را پشتیبانی میکنند.
Guy Steele و Gerald Jay Sussman زبان Scheme را به عنوان یک زبان برنامه نویسی چند الگویی توسعه دادند. MultiLisp یکی از نسخههای زبان Scheme است که برنامه نویسی موازی و حافظهی داخلی را پشتیبانی میکند
Lua: اعضای گروه تکنو لوژی گرافیک کامپیوتر، در سال ۱۹۹۳، زبان Lua را توسعه دادند. Lua، یک زبان برنامه نویسی قانونمند و منظم است که برای برنامه نویسیهای اسکریپت طراحی شده است. این زبان به سادگی در عین حال قدرتمندی شناخته شده است.
M: کوتاه شدهی کلمهی MUMPS است. زبان برنامه نویسیای است که برای صنعت مراقبتهای بهداشتی و سلامتی ایجاد شده است. Neil Pappalardo، بنیان گذار تکنو لوژی اطلاعات پزشکی، با کمک هم کارانش، زبان برنامه نویسی M را گسترش دادند.
Pascal: یک زبان برنامه نویسی رویهای است که برای استفاده از ساختار دادهها و برنامه نویسی ساخت یافته، در نظر گرفته شده است. Niklaus Wirth، دانشمند علوم کامپیوتر سوئيسی، این زبان را طراحی کرده و اسم آن را از Blaise Pascal، ریاضیدان و فیلسوف فرانسوی، الهام گرفته است. Object Pascal یکی از شاخههای شئ گرای زبان پاسکال است که بعدها به عنوان Delphi شناخته شد.
PCASTL: یک زبان برنامه نویسی سطح بالا است که توسط Philippe Choquette طراحی شده و زیر کلاس زبانهای برنامه نویسی مفسر قرار میگیرد. این زبان به خصوص برای کد خود اصلاحی طراحی شده است.
Perl: یک زبان برنامه نویسی سطح بالای مفسر است که برنامه نویسی پویا را پشتیبانی میکند. Larry Wall، زبان شناس، که به عنوان مدیر سیستم در ناسا فعالیت میکند، Perl را توسعه داده است. این زبان، امکاناتی چون پردازش متن و ترکیبی از ویژگیهای برگرفته از زبانهای مختلف مانند Lisp، C و AWK را برای برنامه نویسان فراهم میکند.
PostScript: یک زبان برنامه نویسی پویا و الحاقی است که توسط John Warnock، دانشمند علوم کامپیوتر آمریکایی و Charles Geschke، یکی از چهرههای برجسته در زمینهی علوم کامپیوتر، توسعه یافته است. PostScript، یک زبان توصیف صفحه است که با یک مفسر اجرا میشود تا یک تصویر را ایجاد کند. Postscript بهترین زبان شناخته شده برای توصیف صفحات در زمینههای الکترونیک و منتشر کردن در دسکتاپ است. توسعه دهندگان این زبان در ادامه شرکتهای مطرحی چون سیستمهای ادوب Adobe)) را پایه گذاری کردند.
Python: یک زبان برنامه نویسی سطح بالا است که از مدلهای مختلف برنامه نویسی از جمله برنامه نویسی دستوری،
شئ گرا و تابع محور پشتیبانی میکند. ویژگیهای آن مانند سیستم پویا و مدیریت حافظهی خود کار آن را شبیه به زبان برنامه نویسی Perl کرده است. این زبان توسط Guido van Rossum در سال ۱۹۹۱ که یک برنامه نویس کامپیوتر هلندی بود منتشر شد. پایتون پروژهای آزاد و متن باز است که توسط مدیریت بنیاد نرم افزار پایتون توسعه یافته است.
REXX: کوتاه شدهی Restructured Extended Executor به معنی مجری گسترش یافتهی تجدید ساختار، میباشد. REXX یک زبان مفسر است که توسط IBM توسعه یافته است. این زبان با این هدف که به آسانی فرا گرفته شود و خوانا باشد، طراحی شده است. CMS EXEC و EXEC2 ،پیشینیان REXX بودند. NetRexx، ارائهای جدید از شرکت IBM برای زبان REXX است که امکان برنامه نویسی شئ گرا را فراهم میکند. ObjectREXX، یک زبان برنامه نویسی شئ گرا است که بر پایهی زبان برنامه نویسی REXX میباشد.
Ruby: در سال ۱۹۹۰، تلاش برای توسعهی این زبان در ژاپن آغاز شد. مانند زبان Perl، زبان Ruby نیز ویژگیهای یک سیستم پویا و مدیریت حافظهی خودکار را دارا است. این برنامه از نمونههای برنامه نویسی مختلف پشتیبانی میکند و یک زبان شئ گرای پویا محسوب میشود.
S - Lang: در اصل به عنوان یک زبان مبتنی بر بسته است، S - Lang زبانی مشابه زبان C است و توسطJohn E. Davis توسعه یافته است.
Spin: یک زبان برنامه نویسی شئ گرا است که عمل کرد چند وظیفهای دارد (چند وظیفهای، یک حالت عملیاتی سیستم عامل است که در آن، کامپیوتر میتواند در یک لحظه بیش از یک کار انجام دهد)، که کامپایلر کدهای اسپین را به کدهای بایت تبدیل میکند. کدهای اسپین میتوانند به صورت هم زمان اجرا شوند، بنا بر این حالت چند وظیفهای به وجود میآید. اسپین توسط تراشهی Gracey از شرکت Parallax توسعه یافت.
زبانهای برنامه نویسی تابعی
این نوع زبانهای برنامه نویسی، هر محاسبهای را به عنوان یک ارز یابی ریاضی تعریف میکنند. آنها روی عمل کرد توابع، تمرکز دارند. بسیاری از زبانهای برنامه نویسی فقط به محاسبات ریاضی محدود هستند.Charity: زبان برنامه نویسی که کاملاً بر مبنای توابع است، نه تورینگ کامل، به این معنی که متضمن میشود تا تمام برنامهها را به اتمام برساند. Charityدر یکی از دانشگاههای کانادا به نام Calgary طراحی شده و توسعه یافته است.
Clean: یک زبان برنامه نویسی تابعی است که قابلیت انتقال در سر تا سر پلت فرم، جمع آوری و پاک سازی دادههای نا درست و یا خراب شده، ساختمان دادههای متعدد و شفافیت ارجاعی را پشتیبانی میکند، بدین معنی که یک تابع با ورودی داده شده، همیشه همان خروجی را خواهد داشت.
Curry: یک زبان برنامه نویسی با منطق کار بردی است که عمل کرد و منطق برنامه نویسی و هم چنین برنامه نویسی محدود را پیاده سازی میکند، که در آن روابط بین متغیرها در قالب محدودیتهایی بیان میشود.
Erlang: یک زبان برنامه نویسی هم زمان است که شامل یک زیر مجموعهی پی در پی میباشد، که از برنامه نویسی تابعی پشتیبانی میکند. این نرم افزار توسط Ericsson برای پشتیبانی و توسعهی برنامههای توزیع شده، تحمل پذیر در برابر خطا، بی درنگ نرم soft-real-time)) و بدون وقفه طراحی و در سال ۱۹۹۸ به عنوان یک زبان برنامه نویسی منبع باز منتشر شد. Erlang یکی از محبوبترین زبانهای برنامه نویسی تابعی است.
F#: زبان برنامه نویسی بر پایهی دات نت NET Framework).) است. زبانی ساخت یافته و شئ گرا و متن باز است.Don Syme در بخش تحقیقاتی مایکروسافت این زبان را توسعه داد. این زبان با عنوان F Sharp نامیده شد که به زودی قابل یک پارچه شدن با دات نت و Visual Studio را خواهد داشت، و به همراه Visual Studio گسترش خواهد یافت.
Haskell: هاسکل زبان برنامه نویسی کار آمدی است که به افتخار Haskell Curry، منطقدان، به این عنوان، نام گذاری شده است. این برنامه، تطبیق الگو، اپراتورهای تعریف پذیر، جای گزینی، دادههای جبری و توابع بازگشتی را پشتیبانی میکند.
Joy: یک زبان تابعی است که بر مبنای ترکیب توابع کار میکند. Marfred Thun از دانشگاه La Trobe استرالیا این زبان برنامه نویسی را گسترش داده است.
Kite: این زبان در سال ۲۰۰۶ با مجموعهای از ویژگیهای مرکب از برنامههای شئ گرا و کار بردی عرضه شد. این زبان برنامه نویسی، سرعت اجرای بالایی دارد. جالب توجه است که Kite در توابع خود از کاراکترهای لولهای و خطوط عمودی به جای کاراکترهای دورهای و جهت دار استفاده شده در دیگر زبانها، استفاده میکند.
ML: در سال ۱۹۷۰، Robin Milnerو همکارانش در دانشگاه Edinburgh زبان برنامه نویسی ML را ابداع کردند. ML یک زبان برنامه نویسی تابعی است، بنا بر این، برنامههای محاسباتی و دستوری را پشتیبانی میکند. ML استاندارد، بین زبانهای برنامه نویسی تابعی، کامپایلری محبوب و مدولار است؛ Alice یکی از نسخههای ML استاندارد میباشد که محاسبات توزیعی، multithreading و برنامه نویسی محدود را پشتیبانی میکند.
( multithreading یا خاصیت چند ریسمانی، توانایی یک برنامه در تقسیم شدن به چند ریسه (زیر برنامه) است که میتوانند جداگانه و در عین حال هم زمان توسط رایانه اجرا شوند. یک رایانه چند پرداز میتواند همزمان دو یا چند ریسمان را اجرا کند که به معنی اجرای زودتر کل برنامه نسبت به رایانه تک پرداز است. بر روی یک رایانه تک پردازنده یک برنامه چند ریسمانی زودتر اجرا نمیشود اما یک نرم افزار کار بردی چند ریسمانی ممکن است با کار بر اندر کنش بیشتری داشته باشد زیرا چندین فعالیت در نرم افزار هم زمان اجرا میشوند. نرم افزار سنتی تک ریسهای بر روی سیستمهای چند پردازنده سریعتر اجرا نمیشوند زیرا آن نرم افزارها در هر زمان میتوانند تنها یک پردازنده را به کار بگیرند.)
CAML، نسخهی دیگری از زبان ML میباشد و یک زبان استاتیکی است که از مدیریت حافظهی اتوماتیک پشتیبانی میکند. Ocmal راه اندازی زبان CAML است که به عنوان یک پروژهی منبع باز توسعه یافته است. Jocmal نسخهای از Ocmal است که بر پایهی حساب دیفرانسیل و انتگرال میباشد.
Nemerle: یک زبان برنامه نویسی استاتیکی است که برای پلت فرم دات نت طراحی شده است. برنامههای Nemerle به بایت کدهای زبانهای میانی کامپایل میشوند. این زبان هم چنین توابع، دستورات و برنامه نویسی شئ گرا را پشتیبانی میکند.
OPAL: نام مخففی برای زبانهای کار بردی بهینه سازی شده است و یک زبان برنامه نویسی تابعی محسوب میشود که در دانشگاه فنی برلین گسترش یافته است
OPS5: نام یک زبان برنامه نویسی قانون محور است که برای اولین بار در سیستمهای خبره مورد استفاده قرار گرفته است.
Q: زبان برنامه نویسیای برای حل معادلات است. آن یک زبان برنامه نویسی تابعی مفسر است که توسط Albert Graf در دانشگاه Mainz آلمان طراحی شده است. زبان Q را میتوان به عنوان مجموعهای از معادلات مورد ستفاده برای ارز یابی عبارات توصیف کرد.
زبان برنامه نویسی کامپایلر
این زبانهای برنامه نویسی، برای کامپایل کردن کدهای اجرایی استفاده میشوند. کامپایلرها میتوانند کدهای منبع را به کدهای ماشین ترجمه کرده و در نتیجه دستور العملهای زبانهای برنامه نویسی را از آن حالت خارج میکنند.Ada: نوعی زبان استاتیکی، ساختاری و طبق اصول است که بر پایهی پاسکال نوشته شده است. تیم CII Honeywell Bull که توسط Jean Ichbian رهبری میشده، Ada را طراحی کردهاند. کامپایلرهای Ada برای سیستمهای امنیتی طراحی شدهاند. Ada یک زبان برنامه نویسی استاندارد بین المللی میباشد.
ALGOL: کوتاه شدهی ALGOrithmic Language به معنای زبان الگوریتمی است که یکی از زبانهای برنامه نویسی دستوری کامپیوتری میباشد که در میانههای سال ۱۹۵۰ توسعه یافته است. این زبان، ابزار ثابت برای ایجاد زبانهای برنامه نویسی همچون BCPL،B و C بوده است. Simula نامی در نظر گرفته شده برای دو زبان Simula1 و Simula67 است که از Algol60 به وجود آمدهاند. Ole-JohanDahl و Kristen Nygaard از مرکز محاسباتی نروژی در Oslo، مغزهای متفکر پروژهی Simula بودند.
C:Dennis Ritchie در آزمایشگاههای تلفن Bell، زبان C را برای ایجاد سیستم عامل یونیکس توسعه داد. اما بعدها اکثر سیستم عاملهای دیگر نیز با این زبان نوشته شدند. زبان C، زبانی همه منظورهی ساخت یافته و روندگرا است. از این زبان برای اجرای نرم افزارهای سیستمی و کار بردی استفاده شده و امروزه یکی از زبانهای برنامه نویسی پر کار برد میباشد. توسعه زبانهای C++ و C# نیز تحت تأثیر توسعهی زبان C بوده است.
C++: این زبان ترکیبی از زبانهای سطح بالا و سطح پایین است، از این رو به عنوان یک زبان برنامه نویسی سطح میانی در نظر گرفته میشود. زبان C++ توسط Bjarne Stroustrup در سال ۱۹۷۹ در آزمایشگاههای بل برای بهبود زبان C
و بر مبنای آن ساخته شد و آن را " C با كلاس" نام گذاری نمود که در سال ۱۹۸۳ به C++ تغییر نام داد. زبان C++ یک زبان برنامه نویسی همه منظوره و عمومی است که از برنامه نویسی رویهای، تجرید دادهها و برنامه نویسی شئ گرا پشتیبانی میکند.
C#: یک زبان برنامه نویسی چند الگویی است که از روشهای دستوری، عمومی و شئ گرا پشتیبانی میکند. این زبان از خانوادهی زبانهای دات نت فریم ورک شرکت مایکرو سافت میباشد. این با زبان دستوری شئ گرا مشابه میباشد و به شدت از زبانهای جاوا و دلفی تأثیر پذیرفته است. پلی فونیک C#، آن را گسترش داده است. MC# فرمتی از پلی فونیک C# است که توانایی اجرا بر روی پلت فرم NET را دارد. C - omega فرمتی در C# است که از پلی فونیکهای موفق C# محسوب میشود. این زبان قابلیت دست رسی به دادهها را دارد و دارای ساختاری است که از برنامه نویسی هم زمان پشتیبانی میکند.
CLEO: کوتاه شدهی Clear Language for Expressing Orders به معنای زبانی شفاف برای ابزار دستوری میباشد و یک زبان برنامه نویسی برای کامپیوترهایLEO است.
COBOL: مخفف عبارت COmmon Business - Oriented Language به معنای زبان رایج کسب و کار، میباشد. COBOL، حوزهی اصلی کار خود را در زمینهی تجارت، امور مالی و سیستمهای اجرایی برای شرکتها و دولتها قرار داد. کوبول استاندارد ۲۰۰۲، از زبانهای برنامه نویسی شئ گرا و ویژگیهای دیگر زبانهای مدرن پشتیبانی میکند. کوبول یکی از زبانهای برنامه نویسی بسیار قدیمی است که هنوز هم در حال استفاده میباشد.
Cobra: یک زبان برنامه نویسی شئ گرا است که قابل اجرا بر روی فریم ورکهای دات نت و مونو میباشد.
Chuck Esterbrook آن را توسعه داده است. طراحی این زبان تحت تأثیر زبانهایی مانند پایتون و C# بوده است. این زبان از انواع دینامیکی و استاتیکی پشتیبانی میکند و مناسب برای تست واحد میباشد. امروزه این زبان، یک پروژهی منبع باز است.
D: در اصل برای تقویت زبان C++ طراحی شده است، این زبان هم چنین تحت تأثیر زبانهای جاوا، ایفل و C# میباشد. این یک زبان برنامه نویسی چند الگویی، قانونمند و شئ گرا میباشد که توسط Walter Bright در شرکت نرم افزاری Digital Mars طراحی شده است.
DASL: مخفف Distributed Application Specification Language به معنای زبان مخصوص برنامههای کار بردی توزیعی است. یک زبان برنامه نویسی سطح بالا است که توسط شرکت Sun Microsystems توسعه یافته است. این زبان با هدف توسعه برنامههای کار بردی برای وب ایجاد شده است.
DIBOL: مخفف Digital Interactive Business Oriented Language به معنای زبان کسب و کارهای مربوط به دیجیتال است. DIBOL یک زبان برنامه نویسی همه منظوره و عمومی است. این زبان که نسبتاً شبیه COBOL است به عنوان بهترین راه حل برای توسعه سیستمهای مدیریت اطلاعات میباشد.
Fortran: یک زبان برنامه نویسی رویهای، دستوری و همه منظوره است که به خوبی در محاسبات علمی و عملیات عددی کار میکند و پروژههای بسیاری از رشتههای فنی مهندسی به کمک این زبان نوشته و اجرا میشوند. پس از این که در سال ۱۹۵۰، توسط IBM توسعه یافت، محبوبیت زیادی بین زبانهای برنامه نویسی به دست آورد. فورترن یک زبان ساخت یافته است که زیر مجموعهای از Fortran 95 قلم داد میشود. Fortran 2003 ، یک نسخهی اصلاح شده از فورترن است که از برنامه نویسی شئ گرا نیز پشتیبانی میکند.
Java: Sun Microsystems جاوا را در سال ۱۹۹۵ به عنوان بخشی از پلت فرم جاوا منتشر کرد. برنامههای جاوا به بایت کدهایی کامپایل میشوند که توانایی اجرا روی هر ماشین مجازی را دارند، بنا بر این ساخت برنامههای جاوا مستقل از پلت فرم آن است. این زبان یکی از محبوبترین زبانهای دوران مدرن میباشد. Groovy یک زبان برنامه نویسی شئ گرا برای پلت فرم Java میباشد. این زبان برنامه نویسی پویا است و هم چنین قابلیت استفاده به عنوان یک زبان برنامه نویسی را دارد. Join Java یک زبان برنامه نویسی است که جاوا را با اضافه کردن روشهای پیوندی، روشهای آسنکرون و تغییر کلاس مدیفایرها به جاوا، گسترش میدهد. X10 یک زبان برنامه نویسی کامپیوتر است که به وسیلهی IBM توسعه یافته تا برنامههای موازی، آرایهها و هم زمانی را پشتیبانی کند، و به عنوان زیر مجموعهای گسترده از جاوا میباشد.
JOVIAL: یک زبان برنامه نویسی سطح بالا است که شبیه ALGOL میباشد. این زبان برای طراحی و توسعهی سیستمهای ادغام شده مناسب است.
Objective - c: یک زبان برنامه نویسی شئ گرا است که با اضافه کردن مفاهیم ارسال پیام از زبان اسمال تاک به زبان C ایجاد شده است، در حال حاضر استفادهی اصلی آن در محیط Mac OS X و iPhone OS میباشد.
SMALL: مخفف عبارت Small Machine Algol - like Language به معنای زبان برنامه نویسی ماشین کوچک شبیه الگول میباشد. این برنامه شرایطی را برای برنامه نویسان ایجاد میکند که کدهایی شبیه زبان ALGOL بنویسند و در محیطSMALL اجرا کنند.
Small talk: زبان اسمال تاک یک زبان شئ گرا و دارای نوع پویا است و زبان برنامه نویسی انعکاسی است. Alan Kay، Adele Goldberg، Dan Ingalls، Scott Wallace، Ted Kaehler و دیگر هم کارانشان در Xerox PARK، زبان اسمال تاک را توسعه دادند. آنها این زبان را با هدف آموزشی طراحی کردند که بعدها محبوب شد. Visual Works اجرای بر جستهی اسمال تاک است. Squeak یک زبان برنامه نویسی در قالب پیاده سازی اسمال تاک است. Scratch یک زبان برنامه نویسی بصری بر پایهی squeak میباشد.
Turing: این زبان توسط Ric Holt و James Cordy از دانشگاه تورنتو کانادا در سال ۱۹۸۲، توسعه یافته است. این زبان برنامه نویسی، به افتخار دانشمند کامپیوتر بریتانیایی، Alan Turing، به این نام مزیّن شده است. این زبان برنامه نویسی که شبیه پاسکال است، از سال ۲۰۰۷، به عنوان یک نرم افزار رایگان میباشد.
Visual Basic: برنامه نویسی در ویژوال بیسیک به صورت رخ داد گرا و شئ گرا میباشد و محیطی یک پارچه دارد. این زبان بسیاری از ویژگیهای خود را از BASIC به ارث برده است. ویژگیهای توسعهی گرافیکی در آن باعث شده است تا مبتدیان به آسانی این زبان را یاد بگیرند.
Visual Fox Pro: یک زبان برنامه نویسی داده محور شئ گرا و روال محور است که از زبان Fox Pro مشتق شده و توسط شرکت مایکرو سافت تهیه شده است. این زبان از طریق یک سیستم پایگاه دادهای که مرتبط با خودش است، یک پارچه شده و نیازی به یک محیط برنامه نویسی اضافی ندارد. این زبان، برنامههای پویا را پشتیبانی میکند.
XL: این زبان برای پیاده سازی ایدههای برنامه نویسی مفهومی طراحی شده و سعی میکند تا تبدیل مفهوم و کد را به هم دیگر آسان کند و روی این موضوع متمرکز است که چگونه میتوان مفاهیم موجود در ذهن یک برنامه نویس را به شکل کد تغییر داد. برنامه نویسان میتوانند قواعد و شماتیک زبان XL را پیکر بندی کنند و خصوصیات جدیدی از لحاظ قواعد و مفهوم به زبان اضافه کنند.
زبانهای برنامه نویسی رویهای
برنامه نویسی رویهای، مترادف با برنامه نویسی دستوری است، که به معنی مشخص کردن مراحلی است که برنامه باید طی کند تا به حالت در نظر گرفته شده برسد. این یک الگوی برنامه نویسی است که شامل رویهی فرا خوانی میشود. دربرنامه نویسی عبارتی است که جریان کنترل برنامه را به یک زیر روال، روال یا تابع میبرد. یک رویه گروهی از دستورات است که میتوانند به فرا خوانیها ارجاع داده شوند. رویهها در استفادهی مجدد از کدها کمک میکنند. رویه در برنامه، رشتهی نام داری از عبارات به همراه ثابتها، انواع دادهها و متغیرها است که معمولاً یک عمل را انجام میدهد. هر رویه معمولاً میتواند به وسیلهی رویههای دیگر و یا بخش اصلی برنامه فرا خوانده و اجرا شود. در بعضی از زبانها تفاوت بین رویه و تابع این است که، تابع مقداری را ارجاع میدهد. برنامه نویسی رویهای باعث میشود که برنامههای ساخت یافته به راحتی قابل رد یابی برای جریان برنامه باشند.
به غیر از زبانهای شناخته شدهای چون COBOL، BASIC، Fortran، Ada، C، C++، C#، Visual BASIC
و Java ، زبانهای زیادی وجود دارند که به صورت رویهای کار میکنند. نگاهی به آنها میاندازیم.
Bliss: یک زبان برنامه نویسی سیستمی است و یکی از شناخته شدهترین زبانها از این نوع بود تا اینکه زبان C روی کار آمد. W. A. Wolf ، D. B. Russel ، وA. N. Habermann از دانشگاه Carnegie Mellon، زبان Bliss را توسعه دادند. این زبان شامل ماشین پردازش استثناء، هم چنین دستور العمل اتصال مجموعهای از ورودیها به مجموعهای از خروجیها و هم چنین شامل ماکروها میشود در حالی که آن مانع از عدم اجرای دستورات میشود. منظور از ماکروها در برنامههای کار بردی، مجموعهای از ضربات کلیدی و دستور العملهایی است که ثبت شده و تحت یک کلید کوتاه یا نام ماکرویی ذخیره میشوند. وقتی این کد کلیدی با نام ماکرو تایپ شود برنامه مربوطه دستور العمل های موجود در ماکرو را به اجرا در میآورد. کار بران برنامه با جای گزین ساختن ماکروها به جای ضربات کلیدی پیچیده و طولانی که کار بری زیادی دارند، در زمان صرفه جویی میکنند.
Chuck: یک زبان برنامه نویسی هم زمان و صوتی است که روی سیستم عاملهای Mac OS X، لینوکس و هم چنین مایکرو سافت ویندوز قابل اجرا است. Chuck این امکان را به برنامه نویسان میدهد که حتی حین اجرای برنامه نیز تغییراتی را در آن اعمال کنند.
CLIST: یک زبان برنامه نویسی رویهای در قالب مجموعهای از دستورات است که باید به مانند یک فایل دستهای در یک توالی و ترتیب اجرا شوند.
Hyper Talk: یک زبان برنامه نویسی سطح بالا است که برای برنامه نویسان مبتدی در نظر گرفته شده است. برنامه نویسان این زبان کامپیوتر به عنوان مؤلف شناخته میشوند و هنر نوشتن برنامه، اسکریپت نامیده میشود. Hyper Talk توسط Dan Winker در سال ۱۹۸۷ طراحی شده و از لحاظ ساختاری، شبیه پاسکال است.
Modula - 2: یک زبان برنامه نویسی رویهای عمومی است که در سال ۱۹۷۸ توسط Niklaus Wirth در ETH، ایجاد شد. این زبان شبیه به پاسکال عمل میکند و دارای سیستمهای برنامه نویسی و ویژگیهای عمل کرد چند برنامهای است.
Oberon: Niklaus Worth ، مردی که پشت پاسکال و مدولا بود، در سال ۱۹۸۶ با Oberon دو باره درخشید و آن را به عنوان بخشی از سیستم عامل Oberon طراحی کرد. Oberon شبیه به Modula - 2 ولی کوچکتر از آن است.
Component Pascal: به نظر میرسد که این زبان برنامه نویسی با پاسکال رابطهای داشته باشد، اما در واقع با آن نا سازگار است. آن را میتوان به نوعی Oberon - 2 نامید. Logoana یک زبان برنامه نویسی تجربی است که برنامه نویسی مؤلفه گرا را پشتیبانی میکند، یک نمونه تجزیه یک سیستم به اجزای منطقی یا کار بردی. Michael Franz یکی از دانش جویان Niklaus Wirth زبان Logoana را توسعه داده است. زبان Seneca، بیشتر به عنوان Oberon - 2 شناخته شده است که یک فرمت از زبان برنامه نویسی Oberon است.
MATLAB: یک محیط محاسبات عددی و هم چنین زبان برنامه نویسی است که محاسبات ماتریس را انجام میدهد. این برنامه، رسم توابع و پیاده سازی الگوریتم را امکان پذیر میسازد. این برنامه هم چنین برای ایجاد رابط کاربری میتواند استفاده شود. Math Works، نرم افزار MATLAB را ایجاد کرده است.
OCCAM: یک زبان برنامه نویسی رویهای و دستوری است که توسط David May و هم کارانش در INMOS توسعه یافته است. این زبان، شبیه پاسکال میباشد. OCCAM - PI، یک نوع OCCAM است که توسعه یافته و شامل پروتکلهای تو در تو، پروتکلهای وراثتی، سازندهی آرایه و ایجاد فرآیند زمان اجرا میشود.
PL/C: این زبان با اهداف آموزش برنامه نویسی در دانشگاه Cornell به سال ۱۹۷۰، ایجاد شده است.
PL/I: یک زبان برنامه نویسی دستوری است که در برنامههای کار بردی علمی و مهندسی به کار میرود. این زمان عمدتاً برای انجام امور پردازش دادهها در نظر گرفته شده است و هم چنین زبانهای برنامه نویسی ساخت یافته و برگشت پذیر را نیز پشتیبانی میکند.
Rapira: یک زبان برنامه نویسی رویهای است که در تدریس برنامه نویسی کامپیوتر در مدارس اتحاد جماهیر شوروی مورد استفاده قرار میگرفت. طراحی و توسعهی این زبان در اتحاد جماهیر شوروی اتفاق افتاد و ابتدا این زبان بر اساس کلمات کلیدی روسی بنا نهاده شده بود ولی بعدها، کلمات انگلیسی وارد آن شدند.
RPG: یک زبان برنامه نویسی است که در برنامههای کار بردی مربوط به کسب و کار استفاده میشود. این زبان در سیستمهای کامپیوتری میانی شرکت IBM موجود بود.
زبانهای اسکریپت نویسی
زبانهای اسکریپت نویسی زبانهایی هستند که کنترل برنامه را به عهده دارند. اسکریپتها میتوانند مستقل از هر برنامهی دیگری اجرا شوند. آنها اغلب در برنامههایی به کار گرفته میشوند که بتوان با آنها یک سری وظایف تکراری و پر استفاده یا یک وظیفهی طولانی را به طور خود کار انجام داد، مانند بر قراری ارتباط با برنامههای خارجی.Apple Script: یک زبان برنامه نویسی اسکریپتی است که برای سیستم عامل Mac OS طراحی شده است.
AWK: در سال ۱۹۷۰، این زبان برنامه نویسی در آزمایشگاههای بل به وجود آمد. یک زبان برنامه نویسی همه کاره است که برای پردازش دادههای مبتنی بر متن در جریان دادهها و فایلها و هم چنین در نوع دادههای رشتهای آرایهها و عبارات منظم استفاده میشود.
BeanShell: یک زبان برنامه نویسی اسکریپتی تحت جاوا است که به نوعی شبیه زبان جاوا میباشد و بر روی محیط جاوا با دستورات برنامه نویسی و قواعد آن، قابل اجرا است.
Cold Fusion: یک زبان برنامه نویسی سرور و نرم افزار توسعهی فریم ورک میباشد. کولد فیوژن اغلب بر روی پایگاههای داده و شبکههای داخلی استفاده میشود و ویژگی بارز کولد فیوژن، قابلیت نشانه گذاری این زبان است. این زبان که با عنوان FCML شناخته شده است، از لحاظ قواعد، شباهت زیادی به HTML دارد. مهمترین قابلیت کولد فیوژن این است که میتواند ارتباطی آسان بین صفحات وب HTML)) و بانکهای اطلاعاتی بر قرار کند.
ECMA Script: یک زبان برنامه نویسی اسکریپتی با مشخصات ECMA بین المللی است. این زبان به طور گسترده در وب استفاده میشود. Action Script که در طراحی و توسعه وب سایتها و برنامههای پایگاههای اطلاعاتی استفاده میشود بر پایهی ECMA Script بنا نهاده شده است، DMD Script زبان اسکریپت نویسی موتور ECMA Script در شرکت
Digital Mars میباشد. ECMA Script با افزوده شدن قابلیت پشتیبانی از XML، گسترش یافت. Java Script برای توسعه وب در کنار سرویسهای گیرنده استفاده میشود. این زبان، یک نمونهی ضعیف از زبانهای پویای بر پایهی نمونههای اولیه است.
Jscriptنسخهای از ECMA Script است که توسط مایکرو سافت استفاده میشود. هر دوی این زبانها به طور گستردهای در توسعهی وب به کار گرفته میشوند.
F - Script: یک زبان برنامه نویسی شئ گرا است که در ظاهر شبیه اسمال تاک است، ولی یک ویژگی اضافی نسبت به آن دارد و آن هم برنامه نویسی آرایهای است.
JASS: یک زبان برنامه نویسی روی داد محور است که API گستردهای را در اختیار برنامه نویسان قرار میدهد. برنامه نویسی روی داد محور یک الگوی برنامه نویسی است که در آن، روند اجرای برنامه توسط روی دادها تعیین میگردد. برای مثال، خروجی یک سنسور یا دستورهای کار بر مانند کلیکهای موس و دکمههای کی بورد و یا پیامهای دریافتی از سایر برنامهها یا رشتهها.
Maya Embedded Language: مخفف شدهی آن بهصورت MEL است که به معنای زبان مایای جا سازی شده است. یک زبان برنامه نویسی است که وظایف نرم افزار مایا را پشتیبانی میکند. قواعد آن شبیه Perl است.
Mondrian: زبان برنامه نویسی است که برای اهداف اینترنت طراحی شده و ترکیبی از Haskell و جاوا میباشد.
PHP: یکی از زبانهای برنامه نویسی اسکریپت بسیار محبوب و عمومی میباشد. برای ایجاد صفحات وب پویا توسعه یافته و از قابلیت رابط خط فرمان پشتیبانی میکند.
Revolution: یک زبان توسعهی سریع نرم افزاری است که بر پایهی Hyper Talk میباشد. این یک زبان چند پلت فرمی است که نوع پویا را پشتیبانی میکند. چند پلت فرمی Croos - platform)) در اصطلاح نرم افزارهای رایانه، به آن دسته از نرم افزارها گفته میشود که چندین سکوی رایانهای قابل اجرا هستند.
TCL: یک زبان برنامه نویسی اسکریپتی است و سازندهی آن معتقد است که یاد گیری آن آسان است. از آن برای نمونه گیری سریع استفاده میشود. نیاز به امکان جا سازی Embeddability)) قابلیت ویژه زبان TCL میباشد.
VBScript: یک زبان برنامه نویسی فعال است که توسط شرکت مایکرو سافت توسعه یافته است. ترکیبات این زبان با تغییرات محدودی از زبان برنامه نویسی ویژوال بیسیک مایکرو سافت برگرفته شده است. این زبان به طور پیش فرض بر روی تمامی ویندوزهای انتشار یافته توسط مایکرو سافت قابل نصب است.
Windows Power Shell: ویندوز پاور شل یک موتور خود کار قابل ارتقا از طرف مایکرو سافت است که شامل یک پوستهی خط فرمان و یک زبان پردازه نویسی میباشد. این زبان در سال ۲۰۰۶ برای ویندوز XP، ویندوز ویستا، ویندوز سرور ۳۰۰۳ و ویندوز سرور ۲۰۰۸ عرضه شد. ویندوز پاور شل با بهره گیری از دات نت فریم ورک ارائه شده است، به این معنا که قابل اجرا بر روی فرمهای استاندارد برنامهها، کلاسهای دات نت منظم، cmdletهایی که مخصوص کلاسهای دات نت و اسکریپتها هستند، ترکیبات cmdletها و منطقهای دستوری، میباشد.
زبان های نشانه گذاری
زبانهای نشانه گذاری نوعی زبان توصیفی است که متن و اطلاعات اضافه در بارهی متن را با هم ادغام میکنند. این عبارت در واژگان رایانه و وب معمولاً به یک شبه زبان برنامه نویسی معروف است.Curl: یک زبان برنامه نویسی شئ گرای انعکاسی است. یک زبان نشانه گذاری شبیه HTML است. این زبان از ارث بری چند گانه پشتیبانی میکند.
SGML: کوتاه شدهی عبارت Standardized General Markup Language به معنای زبان نشانه گذاری تعمیم یافتهی استاندارد، یکی از زبانهای نشانه گذاری عمومی شرکت IBM است. این زبان به تنهایی برای نشانه گذاری در اسناد کار بردی ندارد بلکه به عنوان مبنای استاندارد سازی زبانهای نشانه گذاری دیگر استفاده میشود و به همین خاطر به آن فرا زبان میگویند. این زبان با هدف به اشتراک گذاری اسناد قابل خواندن توسط ماشین در پروژههای بزرگ به وجود آمده است تا اسناد برای سالهای طولانی باقی بمانند.
HTML: Hyper Text Markup Language به معنای زبان نشانه گذاری فرا متن، که به صورت مختصر با عنوان HTML بیان میشود به عنوان بر جستهترین زبان نشانه گذاری برای صفحات وب، شناخته شده است. HTML زبان توصیف ساختار صفحههای وب است. زبانی است برای نشانه گذاری ابر متن که برای تدوین قالب و طراحی صفحههای وب به کار میبرند. دستور العملهای این زبان، برچسب (Tag) نام دارند که محتوای یک صفحه وب با آنها نشانه گذاری شده و بدین ترتیب، نحوهی نمایش آن صفحه برای مرورگرهای وب، توصیف میشود. HTML به طور پیش فرض از قواعد SGML استفاده میکند.
XML: مخفف عبارت Extensible Markup Language به معنای زبان نشانه گذاری توسعه پذیر میباشد. این یک زبان توسعه پذیر است، چرا که به کار بر اجازه میدهد تا عناصر مورد نیاز خود را در XML تعریف کند. هم چنین این برنامه از قابلیت اشتراک گذاری دادههای ساخت یافته بر روی اینترنت و چند بخشی و کد گذاری کردن اطلاعات، پشتیبانی میکند. این زبان به عنوان زیر مجموعهای از SGML سر چشمه گرفته است.
XPath، زبان مسیر XML است که در انتخاب گره از اسناد XML، استفاده میشود. هم چنین محاسبات مقداری را نیز پشتیبانی میکند. XQuery در استخراج مجموعه اطلاعات XML ، استفاده میشود. منظور از query مجموعه دستور العملهای خاصی است که برای استخراج دادههای تکراری مورد استفاده قرار میگیرند. با استفاده از این روش میتوان گزارشهای مختلفی را از پایگاههای دادهها تهیه نمود. XSLT یک زبان مبتنی بر XML است که برای تبدیل اسناد XML به فرمتهای قابل خواندن برای انسان، استفاده میشود. Apacheant ابزاری برای اتوماسیون فرآیندهای ساخت نرم افزار است که از XML برای توصیف فرآیندهای ساخت، استفاده میکند.
XHTML: یک زبان نشانه گذاری است که شبیه به HTML است و از قواعد XML پیروی میکند. حد وسط بین HTML و XML میباشد. اسناد XHTML ، اجازهی پردازش خود کار دادهها را میدهند.
زبانهای برنامه نویسی مبتنی بر منطق
برنامه نویسی منطقی، از منطق ریاضی برای برنامه نویسی در کامپیوتر استفاده میکند. زبانهای برنامه نویسی مبتنی بر منطق ویژگیهای راه حل و هم چنین گامهای رسیدن به راه حل را مشخص میکنند.ALF: مخفف عبارت Algebraic Logic Functional Programming Language به معنای زبان برنامه نویسی کار برد منطق جبری است که به اختصار ALF نامیده شده و یک زبان برنامه نویسی چند الگویی است که ترکیبی از برنامه نویسی تابعی و برنامه نویسی منطقی میباشد. دستورات برنامهی ALF درون یک ماشین انتزاعی کامپایل میشود و شبیه ساز نوشته شده در زبان C برنامههای ماشین انتزاعی را اجرا میکند.
Fril: زبانی است که در سال ۱۹۸۰ توسط Trevor Martin و Jim Baldwin در دانشگاه Bristol طراحی شده است. این زبان در وهلهی اول حساب دیفرانسیل و انتگرال را در اولویت خود قرار داد. این زبان از مجموعهی فازی و متاپروگرمینگ پشتیبانی میکند و بر پایهی قواعد Prolog میباشد.
Janus: این زبان از برنامه نویسی هم زمان و محدود، پشتیبانی میکند.
Leda: یک زبان برنامه نویسی کامپیوتری با ترکیبی از مبانی منطقی، تابعی دستوری و شئ گرا است، بنا بر این یکی از زبانهای چند الگویی شناخته میشود.
OZ: یک زبان چند الگویی است که برنامه نویسیهای تابعی، دستوری، شئ گرا و مبتنی بر منطق را پشتیبانی میکند. OZ هم چنین از برنامه نویسی هم زمان و توزیعی نیز پشتیبانی میکند. برنامه نویسی محدود که توسط این زبان پشتیبانی میشود یکی از نقاط قوت این زبان محسوب میشود. منظور از برنامه نویسی محدود، یک نوع تحمیل کننده به سیستم است و برای نشان دادن موضوعاتی که باید به گونهای صحیح در سیستم نگهداری شوند، میباشد.
Poplog: یک محیط توسعهی نرم افزار چند الگویی قدرتمند میباشد که هستهی اصلی آن pop - 11 است.
همهی زبانهای این محیط توسعه یافته، یک ویرایشگر زبان مشترک را به اشتراک میگذارند و تدریجاً به زبانهای برنامه نویسی کامپایل میکنند.
Prolog: یک زبان برنامه نویسی همه منظوره است که برنامههای منطقی را پشتیبانی میکند و اغلب با هوش مصنوعی و زبان شناسی محاسباتی مرتبط است. زبان اعلانی است و منطق برنامه، در قالب روابط بیان شده است. Mercury یک زبان برنامه نویسی منطقی کار بردی است که بر پایهی Prolog میباشد. Strawberry Prolog یکی از نسخههای prolog است که استفادهی آسانی دارد. Visual Prolog یک نوع ترویجی از Prolog است که برنامه نویسی شئ گرا را پشتیبانی میکند. این زبان یک زبان برنامه نویسی کامپایل شده بر پایهی منطق است.
ROOP: یک زبان چند الگویی است که بر مبنای و با این هدف که سیستمهای هوش مصنوعی مورد استفاده قرار گیرد، ساخته شده است. این زبان برنامه نویسی از ویژگیهای رویهای، شئ گرا و مبتنی بر منطق پشتیبانی میکند.
زبانهای برنامه نویسی هم زمان
اجرای هم زمان وظایف متعدد به عنوان برنامه نویسی هم زمان شناخته شده است به این معنی که فرآیندها یا موضوعات مرتبط به هم توسط یک برنامه واحد اجرا شوند. ارتباط بین اجزای هم زمان یک برنامه از طریق حافظهی اشتراکی یا از طریق مکانیزم عبور پیام، رخ میدهد. Java، Ada و Erlang به عنوان شناخته شدهترین زبانهای برنامه نویسی هم زمان هستند. همزمانی در جاوا از طریق حافظهی اشتراکی و هم زمانی مبتنی بر مانیتورینگ به دست میآید. در زیر لیستی از زبانهای برنامه نویسی همزمان آمده است.ABCL: این در واقع خانوادهای از زبانهای برنامه نویسی همزمان میباشد که بین سالهای۱۹۸۰ تا ۱۹۹۰ در ژاپن توسعه یافت. ABCL/1، ABCL/R، ABCL/R2 برخی از اعضای خانوادهی ABCLهستند.
Afnix: یک زبان برنامه نویسی تابعی چند رشتهای است. مترجم این زبان C++ میباشد. موتور اجرایی آن از هر دو پلت فرم ۳۲ بیتی و ۶۴ بیتی پشتیبانی میکند.
Clik: در آزمایشگاه MIT و در سال ۱۹۹۴ ایجاد شده و از زبانهای برنامه نویسی موازی چند ریسمانی پشتیبانی میکند.
Concurrent Pascal:Per Brunch Hansen ، دانشمند علوم کامپیوتر دانمارکی، زبان Concurrent Pascal را برای نوشتن سیستم عاملها و برنامه نویسی برای سیستمهای بی وقفه ایجاد کرد.
E: یک زبان برنامه نویسی شئ گرا است که برنامه نویسی توزیعی را پشتیبانی میکند. Miler Mark،Dan Bornstein وهم کارانشان در انجمن الکتریک این زبان را در سال ۱۹۹۷ توسعه دادند. قواعد این زبان شبیه به جاوا است.
Joule: یک زبان برنامه نویسی هم زمان تابع دیتا است که مقدم بر زبان برنامه نویسی E میباشد. این زبان در برنامه نویسیهای توزیعی استفاده میشود.
Limbo: این زبان در آزمایشگاه بل برای استفاده در سیستمهای توزیعی، طراحی شده است. ویژگی قابل توجه آن توانایی کامپایلر آن در تولید کدهای مستقل از ماشین میباشد، Limbo برای برنامههای در حال اجرای سیستم عامل inferno مورد استفاده قرار میگیرد. Alex که در ابتدا بخشی از سیستم عامل Plan9 بود جای خود را به Limbo داد.
Pict: یک زبان برنامه نویسی نوع استاتیکی است که فعلاً در مرحلهی آزمایشی قرار دارد.
Salsa: کوتاه شده عبارتand Architecture Simple Actor Language System به معنی زبان سادهی سیستم و معماری میباشد. SALSA از برنامه نویسی هم زمان، فرستادن پیام و محاسبات توزیعی پشتیبانی میکند. این زبان از کدهای جاوا استفاده میکند.
فرستادن پیام (message passing): در این نوع ارتباط، به جای خواندن و نوشتن در یک حافظهی مشترک، پردازهها به یک دیگر پیغام میفرستند و دادههای مورد نیاز خود را منتقل میکنند؛ در این حالت به یک پروتکل مشخص و توابع مشخصی برای فرستادن و گرفتن پیغام در پردازهها نیازمندیم. هم چنین پردازندهها باید دارای شناسه مشخص باشند.
SR: مخففResources Synchronizing به معنای منابع هم گام سازی است. SR یک زبان برنامه نویسی هم زمان است.
زبانهای برنامه نویسی شئ گرا
زبانهای برنامه نویسی شئ گرا از تکنیکهای برنامه نویسی شئ گرا مانند تلفیق دادهها با دادههای دیگر، تجرید یا انتزاع، وراثت و چند ریختی پشتیبانی میکنند. برنامه نویسی شئ گرا از کلاسها، اشیاء و تعامل بین اشیاء استفاده میکند. بسیاری از زبان های برنامه نویسی از برنامه نویسی شئ گرا پشتیبانی میکنند. برخی از زبانهای برنامه نویسی به صورت گسترده از ویژگیهای زبان برنامه نویسی شئ گرا پشتیبانی میکنند، مانند C، C++ ، C# ، Java ، Perl5 ، PHP، Python و Ruby .به تعدادی از این نوع زبانها در زیر اشاره شده است:
Agora: یک زبان شئ گرا مبتنی بر نمونه برداری است که ویژگیهای مکانیزم فرستادن پیام را دارد.
BETA: یک زبان برنامه نویسی شئ گرا است که در آن کلاسها و روشها حول مفاهیم و کلاسهای یکسانی میچرخند که به عنوان صفات اشیاء تعریف میشوند. BETA هم چنین از کلاسهای تو در تو نیز پشتیبانی میکند.
Cecil: یک زبان شئ گرا است که توسط Craig Chambers در دانشگاه واشنگتن ساخته شده است. این زبان شبیه به Objective - C و Modula - 3 است.
Lava: یک زبان برنامه نویسی مبتنی بر مفسر شئ گرای بصری است.
Lisaac: این اولین زبان برنامه نویسی شئ گرا است که بر اساس مفاهیم نمونه اولیه میباشد. این برنامه هم چنین از برنامه نویسی سیستم پشتیبانی میکند.
MOO: یک نوع پویا از زبانهای برنامه نویسی مبتنی بر مفاهیم اولیه است که از برنامه نویسی شئ گرا پشتیبانی میکند. این برنامه از مکانیزم مدیریت استثناء و ساختار حلقه پشتیبانی میکند.
Moto: یک زبان برنامه نویسی سمت سرور منبع باز است که همراه با اشیاء مدیریت جلسه و موقعیت و اتصال به پایگاه اطلاعات عرضه شد.
Object-Z: در دانشگاه کوئینز لند استرالیا توسعه داده شد. زبان برنامه نویسی Z با افزوده شدن ویژگی شئ گرا به آن گسترش یافت.
Obliq: یک زبان برنامه نویسی مفسر است که ویژگیهای برنامه نویسی شئ گرا دارد. این زبان از متغیرهای تعریف نشده پشتیبانی میکند و برای محاسبات توزیعی و چند ریسمانی طراحی شدهاند.
Oxygene: زبان برنامه نویسی بر پایهی پاسکال شئ گرا است و مجموعهای از ویژگیهای غنی را دارا است. پیش از این با عنوان کروم Chrome)) شناخته شده بود.
Pliant: زبانی بر پایهی کامپایلرهای پویا است و با توانایی منحصر به فرد پشتیبانی از لیست دستور العملهای سطح پایین و هم چنین عبارات سطح بالا عرضه شده است.
Prograph: یک زبان چند نمونه شئ گرای بصری است که با استفاده از نمادها، اقدامات انجام شده بر روی کاراکترها را مشخص میکند.
REBOL: مخفف عبارت Relative Expression Based Object Language به معنی زبان روابط مبتنی بر پایهی اشیاء است. این زبان برای استفاده در سیستم عاملهای توزیع شده و ارتباطات شبکه طراحی شده است.
Scala: نام Scala مخفف عبارت Scalable language به معنای زبان مقیاس پذیر است. یک زبان برنامه نویسی چند الگویی است که ویژگیهای برنامه نویس شئ گرا و کار بردی را ارائه میدهد.
Self: یک زبان برنامه نویسی شئ گرا مبتنی بر مفهوم نمونهی اولیه میباشد. Newton Script برای نوشتن برنامههایی برای Apple Newton استفاده شده است و تا حد زیادی از Self تأثير گرفته است.
Slate: یک زبان برنامه نویسی شئ گرا است که در مفهوم نمونههای اولیه است. برخی از ویژگیهای این زبان از اسمال تاک و برخی دیگر از Self گرفته شده است. طراحslate در نظر داشته است تا محیطی کار بردی را برای برنامه نویسانش فراهم کند.
XOTcl: فرمت شئ گرایی از ابزار دستور زبان است که فرا کلاسها و کلاسها و روشهای پویا را پشتیبانی میکند.
IO: زبان برنامه نویسی شئ گرای خالصی است که یک مدل شئ گرا مبتنی بر نمونهی اولیه دارد. از لحاظ اندازه کوچک است و میتواند بر روی ماشینهای مجازی قابل حمل کوچک اجرا شود.
این فهرست گستردهای از زبانهای برنامه نویسی کامپیوتر بود. زبانهای برنامه نویسی مختلف، ویژگیهای برنامه نویسی مختلفی را ارائه میدهند که به عنوان وسیلهی ارتباطی بین انسان و سیستمهای کامپیوتری به کار میآید.
/ج
مقالات مرتبط
تازه های مقالات
ارسال نظر
در ارسال نظر شما خطایی رخ داده است
کاربر گرامی، ضمن تشکر از شما نظر شما با موفقیت ثبت گردید. و پس از تائید در فهرست نظرات نمایش داده می شود
نام :
ایمیل :
نظرات کاربران
{{Fullname}} {{Creationdate}}
{{Body}}